2016-10-06 87 views
-1

我有一個字符串像我們如何從字符串中刪除':'字符?

@lle @mme: #crazy #upallnight: 

我想刪除它與任何@#開始的話。如果這些單詞不包含':'字符,它會很好地工作。但是,每當我刪除單詞時,就會留下那個':'字符。因此,我決定在使用string.replace()函數刪除單詞之前替換這些':'字符。但是,它們仍未被刪除。

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

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

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

我非常堅持在這裏,anyhelp將不勝感激。

+5

例如= example.replace .... – Erik

+3

換句話說,更換返回一個新字符串,而不是就地修改 –

回答

2

你可以這樣做:

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

這將完成是替換你的字符串匹配空字符串的正則表達式模式[@#][^ ]+任何子。由於該模式與您想要轉儲的文字相匹配,因此它會執行您想要的操作。

Demo of the pattern on Regex101

+0

意願,其中包括在結尾的話: –

+0

完美,感謝您的幫助 –

+1

是的,會的。我已經添加了一個正則表達式演示。 –

0

從Java文檔:在可變result = ABC ABC @

我想你忘記了存儲替代的返回結果(

String s = "Abc: [email protected]:"; 

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

輸出)方法在其他一些字符串變量。