Java String mit \X zeichen ausgeben?

3 Antworten

String str = "zeile 1\nzeile 2\nzeile\t3";
System.out.println(
str
.replace("\n","\\n")
.replace("\r","\\r")
.replace("\t","\\t")
.replace("\e","\\e")
.replace("\"","\\\"")
);

ah danke, daran hab ich net gedacht xD Ich wollte immer nur das \ durch \\ ersetzen, müsste das nicht auch mit .replace("\\","\\\\"); funktionieren?

0
@pixelino

Nein. Das würde nicht funktionieren...

Liegt daran, das der "\" bei einer Escape-Sequenz im eigentlichen String gar nicht mehr vorhanden ist.

Z.B. wären

"foo\nbar"

und

"foo"+((char)0x0a)+"bar"

exakt das gleiche.

Der "\" steht also nur im Quelltext, nicht jedoch im String selbst.

1

System.out.println("Das ist\\keine neue Zeile.")

Also einfach 2 \ statt 1

ja ist mir klar (\\n) aber, gibts da ne funktion, die das bei einem eingegebenen text macht? könnte das mit .replace("\\","\\\\") funktionieren?

0

Was möchtest Du wissen?