你可以使用正则表达式.让我们开始吧
yourText = yourText.replaceAll("#(\\S+)", "$1");
Run Code Online (Sandbox Code Playgroud)
在正则表达式:
\S 表示任何非空白字符+代表一个或多个\S+ 表示一个或多个非空白字符(\S+) -parenthesis创建包含一个或多个非空白字符的组,该组将被编入索引 1替代
$1 替换允许我们使用组1的内容.换句话说,它会尝试找到#non-whitespaces(并将其替换为non-whitespaces部分.
但是这个解决方案不需要#开头.要做到这一点,我们可以检查是否#有
\s,^.为了测试某些东西是否在我们的元素之前而没有在我们的匹配中实际包含它,我们可以使用look-behind (?<=...).
所以我们的最终解决方案看起来像
yourText = yourText.replaceAll("(?<=^|\\s)#(\\S+)", "$1");
Run Code Online (Sandbox Code Playgroud)