经过一些参考,我能够从string
删除特定的单词。但我想知道为什么没有删除带有特殊字符的单词。
代码:
String txt = "It is an @example example";
String regex = "\\s*\\b@example\\b\\s*";
String finalSt = txt.replaceAll(regex, "");
demoTxt.setText(finalSt);
所需的输出为:It is an example
但输出是:It is an @example example
答案 0 :(得分:1)
这应该是你的正则表达式:“\ s * \ b * @ example \ b \ s *”或“\ s * @ example \ b \ s *”
这些例子也将删除空间。
答案 1 :(得分:1)
那是因为\\b
是一个词边界,它与单词的结尾相匹配。该单词由a-z
,A-Z
,0-9
或_
个字符组成。 @
不是单词字符。您可以像这样重写您的正则表达式,但这取决于您的需求:
String regex = "\\s*@example\\s*";
String finalSt = txt.replaceAll(regex, " ");