我有像
这样的字符串@lle @mme: #crazy #upallnight:
我想删除以@
或#
开头的字词。如果这些单词不包含':'字符,它的工作完全正常。但是,每当我删除单词时,都会留下':'字符。因此,我决定在使用string.replace()函数删除单词之前替换那些':'字符。但是,它们仍未被删除。
String example = "@lle @mme: #crazy #upallnight:";
example.replace(':',' ');
结果:@lle @mme: #crazy #upallnight:
我被困在这里,任何帮助都会受到赞赏。
答案 0 :(得分:2)
你可以这样做:
example = example.replaceAll(" +[@#][^ ]+", "");
这将做的是将字符串中与正则表达式模式[@#][^ ]+
匹配的任何子字符串替换为空字符串。由于该模式与您要转储的单词匹配,因此它可以执行您想要的操作。
答案 1 :(得分:0)
来自Java docs:
String s = "Abc: abc@:";
String result = s.replace(':',' ');
变量result
= Abc abc @
我认为您忘记将replace()方法的返回结果存储在其他一些String变量中。