如何使用正则表达式替换括号中的字符串?

2022-09-01 18:04:03

我有一个字符串:

HLN (Formerly Headline News)

我想删除parens和parens本身内的所有内容,只留下:

HLN

我试图用正则表达式来做到这一点,但我的困难在于这个模式:

"(.+?)"

当我使用它时,它总是给我一个.如何修复我的正则表达式?PatternSyntaxException


答案 1

由于括号是正则表达式中的特殊字符,因此需要对它们进行转义以显式匹配它们。

例如:

"\\(.+?\\)"

答案 2
String foo = "(x)()foo(x)()";
String cleanFoo = foo.replaceAll("\\([^\\(]*\\)", "");
// cleanFoo value will be "foo"

上述操作从字符串的任一侧删除空括号和非空括号。

普通正则表达式:

\([^\(]*\)

您可以在此处进行测试:http://www.regexplanet.com/simple/index.html

我的代码基于以前的答案