Ich habe eine Zeichenkette wie folgt: John \n Barber
Jetzt möchte ich \ n durch ein neues Zeichen ersetzen, damit es
John
Barbier
das ist mein Code dafür
%Vor% aber es funktioniert nicht und gibt mir die gleiche Zeichenfolge John \n Barber
Sie müssen Folgendes tun:
%Vor% Die Methode replaceAll
erwartet in ihrem ersten Argument eine Regex. Wenn du 2 \
in Java String übergibst, passierst du tatsächlich eins. Das Problem ist, dass \
ein Escape-Zeichen auch in Regex ist, also ist die Regex für \n
tatsächlich \n
, also müssen Sie ein zusätzliches \
zweimal einfügen.
Da \n
(oder auch das rohe neue Zeilenzeichen U + 000A) in Regex als neues Zeilenzeichen interpretiert wird, benötigen Sie \n
(escape \
), um den Schrägstrich \
gefolgt von% co_de anzugeben %.
Das ist aus der Perspektive der Regex-Engine.
Aus der Sicht des Compilers müssen Sie in der Java-Literal-Zeichenfolge n
entziehen, sodass wir eine weitere Escape-Ebene hinzufügen:
Tags und Links string java regex replaceall