ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
4161
4161
EMPFEHLEN
-
08.11.06 16:28 #1
- Registriert seit
- Nov 2005
- Beiträge
- 10
Hallo,
ich habe ein Problem. Ich wollte in einem String das %20 durch ein Leerzeichen ersetzen. Doch leider wird mein replace so nicht erkannt. Java läut da ohne Fehlermeldung rübern. Wenn ich allerdings replace("\%20"," ") verwende sagt mein NetBean mir "illegal escape character" und das Programm lässt sich nicht ausführen. Ich weiß nicht, was ich noch machen soll.
-
08.11.06 16:38 #2
- Registriert seit
- Aug 2005
- Ort
- Karlsruhe (Baden-Württemberg)
- Beiträge
- 905
Das Backslash \ wird zum sog. escapen benutzt. Da manche Zeichen, wie das " auch schon im Code verwendung hat oder man bestimmte nicht darstellbare Zeichen hat, wie zum beispiel ein Tab \t oder eine neue Zeile: \r\n oder \r oder \n (je nach OS).
Und wenn du ein Backslash schreiben willst musst diesen natürlich auch escapen, d.h. "\\" gibt ein \
Daher musst du entweder:
("%20"," ") schreiben für keine escapesequenz oder
("\\%20"," ") wenn du ein Backslash haben willst
\% gibt es einfach nicht.
http://java.sun.com/j2se/1.5.0/docs/...x/Pattern.html
P.S.: Dieser Fehler wird in eclipse schon beim kompilieren oder code "anschauen" angezeigt.Wäre super wenn ihr euren Code in dieser Form einfügt:
[java]System.out.println("Hello World");[/java]Code java:1
System.out.println("Hello World");
Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
Blog: http://javaeffective.wordpress.com/
-
08.11.06 16:53 #3
- Registriert seit
- Nov 2005
- Beiträge
- 10
Danke für die schnelle Antwort aber mir geht es hauptsächlich um das Prozentzeichen (%), Ich hab die Programmzeile replace("%20"," ") mal im Debugmodul betrachtet und gesehen, dass java die 20 wohl für einen int hält und wenn ich eine watch auf die %20 mache kriege ich folgeden Meldung.
Und mein String enthält immernoch die %20, die ich durch ein Leerzeichen ersetzen wollte.>Encountered "%" at line 1, column 1.
Was expecting one of:
"++" ...
"--" ...
"+" ...
"-" ...
"~" ...
"!" ...
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<CHARACTER_LITERAL> ...
<STRING_LITERAL> ...
"true" ...
"false" ...
"null" ...
"this" ...
<IDENTIFIER> ...
"super" ...
"(" ...
"new" ...
"void" ...
"boolean" ...
"char" ...
"byte" ...
"short" ...
"int" ...
"long" ...
"float" ...
"double" ...
<
-
Hast du es denn mal mit replace("\\%20"," ") probiert?
Das ganze klingt so nach Escaping/Unescaping. Dafür gibts sicher auch schon fertige Sachen.
Vielleicht hilft das weiter StringEscapeUtils
-
08.11.06 22:43 #5
- Registriert seit
- Nov 2005
- Beiträge
- 10
Ja hab ich, geht auch nicht.
Mein Problem ist, dass ich einen String habe, der so in der Art aussieht "Ein%20Satz%20indem%20keine%20Leerzeichen%20sind,%20sondern%20Prozent%20zwanzig" und da will ich die %20 durch Leerzeichen ersetzen, so dass ich "Ein Satz indem keine Leerzeichen sind, sonder Prozent zwanzig" erhalte. Und die Frage ist jetzt nur, wie ich das hinkriegen.
-
-
09.11.06 08:04 #7
- Registriert seit
- Aug 2005
- Ort
- Karlsruhe (Baden-Württemberg)
- Beiträge
- 905
Das \\ braucht man hier, weil replaceAll eine "Regular Expression" braucht
Schaut ma in die API unter Pattern oder StringWäre super wenn ihr euren Code in dieser Form einfügt:
[java]System.out.println("Hello World");[/java]Code java:1
System.out.println("Hello World");
Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
Blog: http://javaeffective.wordpress.com/
-
09.11.06 09:49 #8
- Registriert seit
- Nov 2005
- Beiträge
- 10
tatsächlich auf einmal gehts. Vielen Dank. Ich setzt das Thema dann mal auf erledigt.
Ähnliche Themen
-
Wenn "include" verwendet wird hab ich keine "body" Ansicht mehr
Von solala123 im Forum PHPAntworten: 12Letzter Beitrag: 07.11.10, 19:51 -
Mit [VB].Net eine Datei speichern die nicht als "Text" erkannt wird
Von codeman im Forum .NET CaféAntworten: 6Letzter Beitrag: 21.03.08, 15:00 -
HTML-Code wird nicht "erkannt"
Von DataFox im Forum Javascript & AjaxAntworten: 11Letzter Beitrag: 05.02.08, 22:12 -
Mit "pattern", "matcher" und "replace" ein Fragezeichen ersetzen
Von Scrapy im Forum JavaAntworten: 8Letzter Beitrag: 01.12.05, 17:13 -
Brenner (Plextor) wird nicht "mehr" erkannt.
Von PatrickD im Forum HardwareAntworten: 0Letzter Beitrag: 27.01.03, 12:54





Zitieren

Login





