仅使用Java删除整个单词

9 java regex

我如何删除整个单词 on(而不是子 onConfirmed从下面的字符串)?

X-JP409 Confirmed on 13/2/12
Run Code Online (Sandbox Code Playgroud)

Ale*_*exR 7

正则表达式中有单词的特殊标记:\b.所以更好的方法是myString.replaceAll("\\bon\\b", "");

当'on'一词位于文本的开头,结尾和中间时,这是有效的,但前提是它是一个单独的单词.例如,它不会从单词"one"中删除"on".


小智 5

如果要替换所有不在单词中的"on",您也可以尝试匹配单词boundary\b.希望能帮助到你.

    String abc = "on X-JP409 Confirmed on 13/2/12 on";
    abc = abc.replaceAll("\\bon\\b", "");
    System.out.println(abc);
Run Code Online (Sandbox Code Playgroud)

要么

    String abc = "on X-JP409 Confirmed on 13/2/12 on";
    abc = Pattern.compile("\\bon\\b").matcher(abc).replaceAll("");
Run Code Online (Sandbox Code Playgroud)

replaceAll实际上是在调用Patternapi.


ada*_*shr 3

"X-JP409 Confirmed on 13/2/12".replace(" on ", " ");
Run Code Online (Sandbox Code Playgroud)

字符串替换文档