myString = myString.replaceAll(" @hello ", " ");
Если @hello
- это одно слово, то в нем есть пробелы до и после, верно? Таким образом, вы должны найти все @hello
с пробелом до и после и заменить его пробелом.
Если вам нужно удалить не только @hello
s и все слова, начинающиеся с @
и не содержащие других @
, используйте это:
myString = myString.replaceAll(" @[^@]+? ", " ");
[^@]
- любой символ, кроме @
. +?
означает совпадение как минимум одного символа до достижения первого пробела.
Если вы хотите удалить слова только с буквенно-цифровыми символами, используйте \\w
вместо [^@]
РЕДАКТИРОВАТЬ:
Да, Охаал прав. Чтобы сопоставить его в начале и конце строки, используйте этот шаблон:
( |^)@[^@]+?( |$)
myString = myString.replaceAll("( |^)@hello( |$)", " ");