我希望删除包含" oil"的任何字词。我以为\b
抓住任何包含" oil"但似乎只能取代这个词本身:
String str = "foil boil oil toil hello";
str = str.replaceAll("\\boil\\b", "");
输出:
箔烫熬你好
期望的输出:
您好
答案 0 :(得分:3)
答案 1 :(得分:2)
一个单词边界断言,一方面有一个单词字符,而另一方面却没有。
您可以使用以下正则表达式:
String s = "foil boil oil toil hello";
s = s.replaceAll("\\w*oil\\w*", "").trim();
System.out.println(s); //=> "hello"
或者如果你想严格匹配字母。
String s = "foil boil oil toil hello";
s = s.replaceAll("(?i)[a-z]*oil[a-z]*", "").trim();
System.out.println(s); //=> "hello"