Вы можете использовать регулярное выражение. Начнём с
yourText = yourText.replaceAll("#(\\S+)", "$1");
в регулярном выражении:
\S
представляет непробельного символов
+
представляет один или более
\S+
представляет собой один или несколько не-пробельных символов
(\S+)
-parenthesis создать группу содержит нг один или несколько не-пробельных символов, эта группа будет индексироваться 1
замена
$1
замена позволяет использовать содержимое группы 1.
В других слова он попытается найти #non-whitespaces
(который и заменит его на non-whitespaces
часть.
Но для этого решения не требуется #
. Чтобы сделать это, мы могли бы проверить, если до #
есть
- пробельное пространство
\s
,
- или начала строки
^
.
Чтобы проверить, есть ли что-то перед нашим элементом, без фактического включения его в наш матч, мы можем использовать look-behind (?<=...)
.
Итак, наше окончательное решение может выглядеть
yourText = yourText.replaceAll("(?<=^|\\s)#(\\S+)", "$1");
Является ли ваша строка что-то вроде '# user' или как' #user #word #anotherWord ... '? – SantiBailors
Вы просто хотите удалить #, прикрепленную к строке? – sadlyblue