java - 全部替换错误

标签 java regex

这是我的正则表达式。我想找到左括号和右括号并将它们替换为“\(”和“\)”。

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/

相关文章:

java - Spring Framework @Cachable注解和欧洲央行API JAVA

java - java实现查找HCF/GCD的递归函数

java - 用于匹配文本文件的正则表达式

python - 使用正则表达式查找模式后的所有内容,但排除变量

r - 如何在文本中间找到 r 中的序列?

java - 有人可以帮我解决我的代码错误吗?

java - 更新 C3PO JDBC url 有什么影响?

javascript - Selenium Webdriver Java - 创建按钮并按下它

正则表达式匹配一组以预定义字符开头的数字中的第二个数字

c# - 使用正则表达式拆分单词