除了一些符号外,删除String中的所有符

时间:2015-07-09 08:12:29

标签: java regex string

我需要移除除String之外的()中的所有符号,但我不知道如何编写正确的Regex pattern,然后使用.removeAll()方法。

实施例

Some text (some 1 text()), and (some 2 text) - > (())()

5 个答案:

答案 0 :(得分:1)

如果您想使用search功能,可以使用以下正则表达式:

[()]

参见演示https://regex101.com/r//

如果要使用替换函数,可以用空字符串替换以下正则表达式:

[^()]

答案 1 :(得分:0)

您可以使用此模式:[^()]*并删除所有匹配的符号。

请参阅demo

答案 2 :(得分:0)

使用可以替换所有方法。这导致为除(和)之外的字符替换空字符串的字符串。

string.replaceAll("[^()]", "")

示例: -

String val="Some text (some 1 text()), and (some 2 text)";
System.out.println(val.replaceAll("[^()]", ""));

答案 3 :(得分:0)

这可能会对您有所帮助: -

   String s = "Some text (some 1 text()), and (some 2 text)";
   String s2 = s.replaceAll("[^()]*", "");
   System.out.println(s2);

输出: - (())()

答案 4 :(得分:0)

这样做:

String thatString = "ad()";
String newString = "";
for(int i = 0;i<thatString.length();i++){
if(thatString.charAt(i)=='(' || thatString.charAt(i)==')'){
 newString+=thatString.charAt(i);
}
}

这应该有效:)