2012-09-30 122 views
2
public class test { 
    public static void main(String[] args) { 
     String a = "so many, punctuations , haha!"; 
     a.replaceAll("[\\p{Punct}]+", ""); 
     System.out.print(a); 
    } 
} 

我試過這個方法,但標點符號仍然存在,我不明白爲什麼。如何刪除標點符號?

replaceAll()函數不起作用。

+1

它被替換,但你需要分配的replaceAll函數的返回值,因爲String類是不可變的。 – nhahtdh

+0

謝謝,我忘了字符串是不可變的。 –

回答

2

你需要這樣做:

a = a.replaceAll("[\\p{Punct}]+", ""); 
+0

是的,我忘了String是不可變的:p –

3

a.replaceAll()創建一個全新的字符串,您立即忽略。

您可能想要將此新字符串分配到a