Ersetzen einzelner Backslashes durch doppelte Backslashes in Strings
Wenn Sie versuchen, mit replaceAll einen String wie „something“ in „something“ umzuwandeln, Entwickler stoßen häufig auf Fehler. Der übliche Ansatz der Verwendung der Methode „replaceAll(““, „\“) führt zur Ausnahme „java.util.regex.PatternSyntaxException: Unexpected internal error near index 1“. Dies liegt daran, dass das Backslash()-Zeichen sowohl in Zeichenfolgen als auch in regulären Ausdrücken als Escape-Zeichen behandelt wird. Um dies zu beheben, maskieren Sie den Backslash im regulären Ausdruck, indem Sie ihn verdoppeln:
string.replaceAll("\\", "\\\\");
Hier ist jedoch nicht immer ein regulärer Ausdruck erforderlich. Da wir nur eine zeichenweise Ersetzung durchführen möchten, kann String#replace() ausreichend sein:
string.replace("\", "\\");
Beachten Sie, dass es möglicherweise mehr sein kann, wenn die Zeichenfolge für die Verwendung in einem JavaScript-Kontext vorgesehen ist geeignet, um StringEscapeUtils#escapeEcmaScript() zu verwenden, um einen größeren Zeichenbereich abzudecken.
Das obige ist der detaillierte Inhalt vonWie ersetzt man einzelne Backslashes in Java-Strings ordnungsgemäß durch doppelte Backslashes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!