JavaString.replace所有单反斜杠和双反斜杠
我正在尝试将转换String \something\
为String \\something\\using replaceAll
,但是我不断遇到各种错误。我认为这是解决方案:
theString.replaceAll("\\", "\\\\");
但这给出了以下异常:
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
回答:
将该String#replaceAll()
参数解释为正则表达式。该\
是转义字符都 String
和regex
。你需要对正则表达式进行两次转义:
string.replaceAll("\\\\", "\\\\\\\\");
但是你不必为此使用正则表达式,仅是因为你希望逐个字符地进行精确替换,并且这里不需要模式。因此String#replace()
就足够了:
string.replace("\\", "\\\\");
更新:根据注释,你似乎想在JavaScript上下文中使用字符串。你最好使用它StringEscapeUtils#escapeEcmaScript()
来覆盖更多字符。
以上是 JavaString.replace所有单反斜杠和双反斜杠 的全部内容, 来源链接: utcz.com/qa/433609.html