# Sonderzeichen umwandeln



## kirina (1. April 2008)

Ich möchte eine URL erstellen, die Bausteine sind einereseits fester Text, aber auf der anderen Seite auch variablen. Dummerweise können diese variablen Leerzeichen und andere Sonderzeichen enthalten.
Leerzeichen könnte ich natürlich noch relativ einfach in ein plus umwandeln, aber ich habe eigentliche keine allzugroße Lust eine Methode selbst zu schreiben, die alle anderen Sonderzeichen umwandelt. (Wenn es nciht anders geht, mach ich das natürlich, aber ich habe die Hoffnung es hat einer eine Lösung,-))

Ich hatte natürlich die Idee URLEncoder zu nehmen (mit encode(String str, String enc)), vermutlich ist das auch der richtige Weg aber es geht nicht^^
Ich habe dafür folgenden Code (nur zum ausprobieren ,-))


```
String str1 = "http://www.example.com/display/OTPD/proto link empty space 1/";

	String back = URLEncoder.encode(str1, "UTF-8");
	System.out.println(back);
```

aber zurück bekomme ich 


```
http%3A%2F%2Fwww.example.com%2Fdisplay%2FOTPD%2Fproto+link+empty+space+1%2F
```

was mache ich verkehrt? oder gibt es doch eine andere bessere lösung?

danke,
kirina


EDIT: also ich hab die '/' jetzt einfach einzeln genommen (z.teil hab ich gottseidank ja eh feste Ausdrücke) und dann gehts. Trotzdem wäre ich dankbar wenn jemand eine Idee hat wie ich den kompletten String wirklich als URL bekomme. Gibt es da ein spezielles Format vieleicht? Hab bloß leider bis jetzt nur gefunden, das Sonderzeichen in einer URL per UTF-8 geschrieben werden.


----------



## Anime-Otaku (1. April 2008)

weil die Slashes usw. hier nicht als Text anzusehen ist...daher macht der URLEncoder nur sinn, wenn man den zu übertragenden Text durchschickt^^


----------



## zerix (1. April 2008)

Hallo,

du machst nichts falsch. 
Dir wird nichts anderes übrig bleiben, als alles was zwischen den "/" steht, einzeln durch den URLEncoder zu parsen.

Also alles parsen bevor du die URL zusammenbaust.

MFG

Sascha


----------



## kirina (1. April 2008)

achso ok, na dann bleib ich eben dabei

danke!


----------



## kirina (3. April 2008)

gibt es eine möglichkeit zu überprüfen ob ein sonderzeichen in einem string enthalten ist? ich meine damit nicht, das einzeln zu übrprüfen, das kann ich ( string.contains("ä") ...), sondern vielmehr suche ich nach einer möglichkeit zu garantieren, das ein string nur die buchstaben a-z (in groß und klein) enthält.

irgendwelche ideen?


----------



## takidoso (7. April 2008)

vielleicht helfen Dir "reguläre Ausdrücke" weiter
Ich hielt die früher auch imemr für sehr anstrengend bzw mystisch aber dieser Link hatte mir prima weitergeholfen.
http://java.sun.com/docs/books/tutorial/essential/regex/


----------

