如何从以下字符串中删除整个字 on
({strong>不是on
中的子字符串 Confirmed
) ?
X-JP409 Confirmed on 13/2/12
答案 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 ", " ");
答案 3 :(得分:0)
怎么样:
String str = "X-JP409 Confirmed on 13/2/12";
str.replaceAll(" on ", " ");
您正在寻找输出:
X-JP409 Confirmed 13/2/12