2014-11-24 222 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);