仅使用Java删除整个单词

时间:2012-02-16 08:49:39

标签: java regex

如何从以下字符串中删除整个字 on({strong>不是on中的子字符串 Confirmed) ?

X-JP409 Confirmed on 13/2/12

4 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:5)

如果您想要替换所有不在单词中的“on”,您也可以尝试匹配单词边界\ b 。希望它有所帮助。

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

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

replaceAll实际上正在调用Pattern api。

答案 2 :(得分:3)

"X-JP409 Confirmed on 13/2/12".replace(" on ", " ");

String replace documentation

答案 3 :(得分:0)

怎么样:

String str = "X-JP409 Confirmed on 13/2/12";
str.replaceAll(" on ", " ");

您正在寻找输出:

X-JP409 Confirmed 13/2/12