Android 如何从字符串中删除带有特殊字符的特定单词?

Android 如何从字符串中删除带有特殊字符的特定单词?,android,regex,string,Android,Regex,String,经过一些引用后,我可以从字符串中删除特定的单词,但我想知道为什么不删除带有特殊字符的单词 代码: 所需的输出是:这是一个示例 但输出是:它是一个@example-example这应该是您的正则表达式:“\s*\b*@example\b\s*”或“\s*@example\b\s*” 这些示例也将删除空格。这应该是您的正则表达式:“\s*\b*@example\b\s*”或“\s*@example\b\s*” 这些示例也会删除空格。这是因为\\b是一个单词边界,与单词的结尾匹配。该词由a-z、a-z

经过一些引用后,我可以从
字符串中删除特定的单词,但我想知道为什么不删除带有特殊字符的单词

代码:

所需的输出是:
这是一个示例


但输出是:
它是一个@example-example

这应该是您的正则表达式:“\s*\b*@example\b\s*”或“\s*@example\b\s*”


这些示例也将删除空格。

这应该是您的正则表达式:“\s*\b*@example\b\s*”或“\s*@example\b\s*”


这些示例也会删除空格。

这是因为
\\b
是一个单词边界,与单词的结尾匹配。该词由
a-z
a-z
0-9
\uu
字符组成<代码>@
不是单词字符。您可以这样重写regexp,但这取决于您的需要:

String regex = "\\s*@example\\s*";
String finalSt = txt.replaceAll(regex, " ");

这是因为
\\b
是一个单词边界,它与单词的结尾相匹配。该词由
a-z
a-z
0-9
\uu
字符组成<代码>@不是单词字符。您可以这样重写regexp,但这取决于您的需要:

String regex = "\\s*@example\\s*";
String finalSt = txt.replaceAll(regex, " ");