Backslashes in Strings maskieren
Wenn Sie versuchen, einen String wie „something“ in „something“ mithilfe der Methode „replaceAll()“ umzuwandeln, werden Sie Aufgrund von Fehlinterpretationen des Backslash-Zeichens können Fehler auftreten.
Das Problem entsteht, weil der Backslash () ist ein Escape-Zeichen sowohl in Zeichenfolgen als auch in regulären Ausdrücken. Um es in einem regulären Ausdruck zur Verwendung mit replaceAll() korrekt zu maskieren, müssen Sie es doppelt maskieren:
theString.replaceAll("\\", "\\\\");
Diese Methode geht jedoch davon aus, dass Sie reguläre Ausdrücke für den Mustervergleich verwenden. Wenn Ihr Ziel lediglich darin besteht, Zeichen für Zeichen zu ersetzen, können Sie stattdessen die Methode replace() verwenden:
string.replace("\", "\\");
Dadurch wird ein exakter Austausch der Backslashes ohne Einbeziehung regulärer Ausdrücke durchgeführt.
Hinweis zum JavaScript-Kontext
Wenn Ihre Zeichenfolge für die Verwendung in einem JavaScript-Kontext vorgesehen ist, sollten Sie die Verwendung in Betracht ziehen StringEscapeUtils#escapeEcmaScript(), um aus Sicherheitsgründen zusätzliche Sonderzeichen zu maskieren:
StringEscapeUtils.escapeEcmaScript(string);
Das obige ist der detaillierte Inhalt vonWie entgeht man Backslashes in Java-Strings richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!