如何在Java字符串中去掉空/单字符括号

时间:2013-03-26 18:27:45

标签: java regex

我想删除括号内单个字符的所有内容。例如,在字符串“我在部分(a)而不是(aaa)”中,期望的结果是“我在部分而不是(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!

我认为问题在于我是如何逃避反斜杠和括号字符的,但我尝试了很多变体,例如“\\(。?\\)”无济于事。此外,他们似乎在网上正则表达网站上工作,所以我完全迷失了可能出错的地方。

1 个答案:

答案 0 :(得分:6)

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

text = text.replaceAll("\\(.?\\)", "");