Java String найти и заменить часть - PullRequest
0 голосов
/ 06 июня 2018

У меня есть строка ввода, которая выглядит примерно так.

String str="abc + abcd * abcde"

Я хочу заменить

abc на "xyz".

Когда я пытаюсь заменить функцию string, она заменяет все вхождения abc.

У меня должна быть последняя строка как

String str="xyz + abcd * abcde"

Не обязательно, чтобы слово «abc» было первым словомв строке.

Мне нужно заменить только то слово, которое содержит "abc", а не то, которое содержит "abcd".Если я использую "replace",, он заменит все вхождения abc, которые не требуются.

"abc" будет иметь оператор после abc.Примерно так "abc + abcd + abcde"

Есть ли какое-нибудь элегантное решение этой проблемы?

1 Ответ

0 голосов
/ 06 июня 2018

Для этого вы можете использовать регулярное выражение для сопоставления слов \b:

str = str.replaceAll("\\babc\\b", "xyz");

См. https://www.regular -expressions.info / wordboundaries.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...