2014-11-24 106 views
2

我怎样才能在Java中做到这一点:爪哇 - 替换字符串在括号

给出一个字符串,括号中的每个文本,如果它包含“布拉布拉”然后删除这些括号中的所有文本,包括括号本身

示例:

some string (some text) (blabla foo bar) => some string (some text) 
some string (some text) (blabla) => some string (some text) 
some string (ex ex) => unchanged (because words in parenthesis doesn't contain "blabla") 

谢谢。

回答

3

你可以试试下面replaceAll功能。

string.replaceAll("\\([^()]*blabla[^()]*\\)", ""); 

说明:

  • \\(匹配文字(符号。
  • [^()]*否定字符类,它匹配任何字符但不是()零次或多次。
  • blabla匹配它匹配任何字符,但不是()零次或更多次的字符串blabla
  • [^()]*否定字符类。
  • \\)匹配文字)符号。
0
String x = "some string (some text) (blabla)"; 
    String replace = x.replace("(blabla)", ""); 
    System.out.println(""+replace);