2014-03-14 41 views
2

預期我有這行代碼:temp5.replaceAll("\\W", "");的replaceAll沒有工作的一個字符串

此時的temp5的內容是:[1, 2, 3, 4]但正則表達式不會刪除任何東西。當我做了toCharArray()我結束了這一點:[[, 1, ,, , 2, ,, , 3, ,, , 4, ]]

我不能正確地使用正則表達式?我的印象是\ W應該刪除所有的標點符號和空格。

注:temp5是一個String

我只是使用\ W \ W,以及各種其他測試。對於所有這些相同的輸出

+0

是'temp5'一個字符串? –

+0

是溫度5是一個字符串 –

回答

4

字符串是不可改變的。 replaceAll()返回帶有所做更改的字符串,但不會修改temp5。所以,你可能做這樣的事情,而不是:

temp5 = temp5.replaceAll("\\W", ""); 

之後,temp5"1234"

+0

天啊....我笨....感謝了一堆(應讀了該死的API啊) –

+1

看起來像2天,你會到達10K :) –

0
String temp5="1, 2, 3, 4"; 

    temp5=temp5.replaceAll("\\W", ""); 

    System.out.println(temp5.toCharArray()); 

這將有助於

相關問題