我们如何从字符串中删除':'字符?

时间:2016-10-06 04:44:01

标签: java string replace

我有像

这样的字符串
@lle @mme: #crazy #upallnight:

我想删除以@#开头的字词。如果这些单词不包含':'字符,它的工作完全正常。但是,每当我删除单词时,都会留下':'字符。因此,我决定在使用string.replace()函数删除单词之前替换那些':'字符。但是,它们仍未被删除。

String example = "@lle @mme: #crazy #upallnight:";

example.replace(':',' ');

结果:@lle @mme: #crazy #upallnight:

我被困在这里,任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

你可以这样做:

example = example.replaceAll(" +[@#][^ ]+", "");

这将做的是将字符串中与正则表达式模式[@#][^ ]+匹配的任何子字符串替换为空字符串。由于该模式与您要转储的单词匹配,因此它可以执行您想要的操作。

Demo of the pattern on Regex101

答案 1 :(得分:0)

来自Java docs:

String s = "Abc: abc@:";

String result = s.replace(':',' ');

变量result = Abc abc @

的输出

我认为您忘记将replace()方法的返回结果存储在其他一些String变量中。