Invalid escape sequenze

  • Themenstarter Themenstarter Browny
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

Browny

Gast
hallo leute!
bei mir tritt folgendes problem auf!

actuellString = actuellString.replaceAll("PARAMETER:","\param");

An dieser Stelle meldet der Compiler eine "Invalid escape Sequenze". Das liegt daran, dass Java das single-Backslash nicht akkzeptiert! Hat vielleicht irgendjemand einen Ansatz, wie ich dieses problem umgehen kann?
danke!
 
das hat nicht funktioniert!
der Compiler sagt immer noch, dass eine Invalid Escape Sequenze vorliegt!
 
Code:
actuellString = actuellString.replaceAll("PARAMETER:","\\\\param");
 
Mit "\\\\param" würde es funktionieren, aber das hilft mir das Programm nur was nützt wenn "\param" eingefügt wird!
Gibt es da keine andere Lösung?
 
Leider verstehe ich aus deinem vorherigen Post nicht was genau jetzt nicht funktioniert.
Die Lösung ist nämlich eigentlich recht gut.

sparrow
 
sorry hab mich verschrieben
Mit "\\\\param" würde es funktionieren, aber das hilft mir nichts das Programm nützt mir nur was wenn "\param" eingefügt wird!
Gibt es da keine andere Lösung?
 
\ ist sowohl für String Literale im Quellcode, als auch für Regex die Escape Sequenz. Daher muss fleißig maskiert werden :wink:
 
ok ich erklär mal

Ich hab vor mir ein C-File. (Wird natürlich dann in eine text datei umgewandelt.) Mit Hilfe von Doxygen will ich jetz von diesem C-File eine Dokumentation erstellen. Doxygen kann ich jetz nicht genauer erklären, du musst nur wissen, dass es aus dem Quellcode alle Funktion,Variablen,Kommentare auslesen kann. Wichtig ist dabei, dass man bei den Kommentaren auch bestimmte Befehle benutzten kann, die dann das Doxygen lesen kann und dadurch z.B irgendwelche sachen hervorheben kann. Und einer dieser Befehle ist "\param". Daher muss ich genau diesen String einfügen!
Mit meinem Programm bin ich ja schon fast fertig, aber ich brauch halt diesen single-Backslash noch.
Ich hoff das träg ein bischen zum verständnis bei!
mfg
 
Gibts da vielleicht irgendwo informationen, ich hab nämlich keine Ahnung wie ich da rangehn soll!
 
Code:
\\ -> \ im Regex -> EscapeSequence
\\\\ -> \\ im Regex -> \
\\\\\\\\ -> \\\\ im regex -> \\
 
ich versteh scho wie des funktionieren soll, aber wie implementiere ich des im Quellcode??????
 
Danke man, es Funktioniert!
aber eine frage hätt ich da noch, warum ist das in Java so?
 
:autsch:
Nochmal:
Für den Compiler ist \ in String Literalen die Escape Sequenz.
Will man also tatsächlich einen \ im String haben, muss er mit \ maskiert werden.
Gleich gilt für Reguläre Ausdrücke (und String#replaceAll erwartet einen solchen).
Auch dort ist \ ein Sonderzeichen das mit \ maskiert werden muss.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben