Ich beginne zu lernen Regex und ich weiß nicht, ob ich es richtig verstehe.
Ich habe ein Problem mit der Funktion replaceAll, weil es das Zeichen in einer Zeichenfolge, die ich ersetzen möchte, nicht ersetzt.
Hier ist mein Code:
%Vor%Die Ausgabe ist identisch mit der des Originals. Nichts hat sich geändert.
Ich möchte, dass die Ausgabe wie folgt aussieht: Hel\%l\&+++o\_Wor\_++l\%d\&\#
.
Bitte helfen Sie. Vielen Dank im Voraus.
Der Grund, warum es nicht funktioniert: Sie benötigen vier Backslashes in einer Java-Zeichenfolge, um einen einzelnen "echten" Backslash zu erstellen.
%Vor% sollte funktionieren. Aber das ist nicht der richtige Weg. Sie benötigen keine for
-Schleife:
und du bist fertig.
Erläuterung:
[%&_]
entspricht einem der drei Zeichen, die Sie ersetzen möchten "\\%code%"
ist das Ergebnis der Übereinstimmung, also Vorbehalt: Diese Lösung überprüft offensichtlich nicht, ob einer dieser Zeichen bereits zuvor ausgetrickst wurde. Also
%Vor%würde
werden %Vor%was du nicht willst. Könnte das ein Problem sein?