0

在我的 java 字符串中,例如:hello(world) 就在那里。我想单独删除括号,结果应该是helloworld

我尝试了这样的正则表达式

String strFunction = Hello(world);

strFunction.replaceAll("\\)\\(\\s+", "");

但它不起作用,请帮助它

4

3 回答 3

3

字符串是不可变的,因此您需要将结果重新分配回原始字符串。此外,您的正则表达式存在一些问题。目前,如果它们背靠背出现,它将尝试替换这些括号。

您需要使用字符类:

strFunction = strFunction.replaceAll("[)(]", "");
于 2013-07-13T10:27:55.500 回答
1
strFunction = strFunction.replaceAll("[(\\s)]", "");
  • 将结果分配回您的字符串引用。
  • 使用字符类[]。(注意:你不需要()在那里逃跑。)
于 2013-07-13T11:05:04.980 回答
0

无论它们是否平衡,它都会删除所有括号。

String replaced = "(4+5)+6".replaceAll("[()]", "");
于 2015-04-22T12:53:25.757 回答