Удалить все слово только с Java - PullRequest
9 голосов
/ 16 февраля 2012

Как мне удалить целое слово on (, а не подстроку on в Confirmed) из следующей строки?

X-JP409 Confirmed on 13/2/12

Ответы [ 4 ]

7 голосов
/ 16 февраля 2012

В регулярном выражении есть специальный маркер слова: \b. Так что лучший способ это myString.replaceAll("\\bon\\b", "");

Это работает, когда слово «вкл» находится в начале, конце и в середине текста, но только если это отдельное слово. Например, он не удалит слово «on» из слова «one».

5 голосов
/ 17 февраля 2012

Если вы хотите заменить все «вкл.», Которые не входят в слово, вы можете попытаться также сопоставить границы слова \ 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.

3 голосов
/ 16 февраля 2012
"X-JP409 Confirmed on 13/2/12".replace(" on ", " ");

Строка заменяет документацию

0 голосов
/ 16 февраля 2012

Как насчет:

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

Вывод - это то, что вы ищете:

X-JP409 Confirmed 13/2/12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...