这是我的正则表达式。我想找到左括号和右括号并将它们替换为“\(”和“\)”。
word = word.replaceAll(Pattern.quote("("), "\\" + "(").replaceAll(Pattern.quote(")"), "\\" + ")");
这是如果 word = "word)"的输出:
New word is: word)
如您所见,它没有改变任何事情。
最佳答案
尝试像这样使用\\\\
:
word = word.replaceAll(Pattern.quote("("), "\\\\" + "(")
.replaceAll(Pattern.quote(")"), "\\\\" + ")");
或没有Pattern.quote
:
word = word.replaceAll("\\(", "\\\\(").replaceAll("\\)", "\\\\)");
或者在你的情况下你可以只使用替换:
word = word.replace("(", "\\(").replace(")", "\\)");
关于java - 全部替换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46642923/