replaceAll错误

时间:2017-10-09 09:20:25

标签: java regex

这是我的正则表达式。我想找到开括号和右括号,并用" \("和" \)"替换它们。

word = word.replaceAll(Pattern.quote("("), "\\" + "(").replaceAll(Pattern.quote(")"), "\\" + ")");

如果word =" word)":

,这是输出
New word is: word)

正如你所看到的,它并没有改变一件事。

2 个答案:

答案 0 :(得分:1)

尝试使用\\\\,如下所示:

word = word.replaceAll(Pattern.quote("("), "\\\\" + "(")
        .replaceAll(Pattern.quote(")"), "\\\\" + ")");

或没有Pattern.quote

word = word.replaceAll("\\(", "\\\\(").replaceAll("\\)", "\\\\)");

或者在您的情况下,您可以使用替换:

word = word.replace("(", "\\(").replace(")", "\\)");

答案 1 :(得分:0)

两个答案有效:

word.replace("(", "\\" + "(").replace(")", "\\" + ")"); – OH GOD SPIDERS

replacing \\ with \\\\ in the replaceAll - YCF_L.