2016-05-13 219 views
1

我在Java中有一个TreeMap,其中一些密钥的类型为ABC (1),ABC (2),括号内只有数字。正则表达式删除括号

我想删除(1)(2)以及前面的空格,最后只有ABC

我真的很糟糕的正则表达式,我知道它必须是这里的一些成员非常简单的正则表达式,但我想找到的正则表达式替换" (1)"" (2)"""

非常感谢任何帮助提前。

+0

类似但不完全相同的链接文章,其中括号内的内容是任何内容,讨论围绕是否String.replaceAll()修改它所调用的字符串。 –

+0

我上面的评论提到这里不再提及http://stackoverflow.com/questions/8206128/remove-everything-in-parentheses-java-using-regex问题。 –

回答

3
key.replaceAll(" \\([\\d]+\\)", "") 

上面这行应该返回带有空格前缀括号的数字。转义括号使它们成为文字匹配,而不是子匹配分组/捕获运算符。

我使用RegexPlanet's regex tester for java来测试正则表达式,并使用String#ReplaceAll documentation来验证正则表达式匹配使用的Java替换。

+1

虽然重复我链接到可以用来找出答案,在我看来,你的答案更好地解释和链接到有用的外部资源。 +1 –

+0

你的链接很有帮助。感谢您对我的回答的赞美。 –

+1

工作。非常感谢@ MarkA.Fitzgerald 尽管在括号内有一个字母/单词而不是数字,但我仍然想要搜索它。只是为了防故障。 你能帮我用正则表达式寻找一个词或括号内的数字 非常感谢! –