1

我想去掉括号内单个字符的所有内容。例如,在字符串“I am at part (a) and not (aaa)”中,期望的结果是“I am at part and not (aaa)”,其中第二个括号对被保留,因为它更长。我怎样才能在 Java 中做到这一点?我已经尝试了以下,但它不匹配任何东西!

 String text = "the meaning of 5 U.S.C. 552(a)(6)(B) and Section 1.16(b) .";
 text.replaceAll("\\(.?\\)", ""); // should return "the meaning of 5 U.S.C. 552 and Section 1.16 ." but doesn't!

我认为问题在于我如何转义反斜杠和括号字符,但我尝试了许多变体,例如“\\(.?\\)”无济于事。此外,他们似乎在在线正则表达式网站上工作,所以我完全不知道可能出了什么问题。

4

1 回答 1

6

您的正则表达式看起来不错 - 您是否可能忘记将结果分配给变量?

text = text.replaceAll("\\(.?\\)", "");
于 2013-03-26T18:30:06.933 回答