2012-11-21 38 views

回答

8

\\p...相同[^\\P...](否定的字符CL字符具有屬性)的屁股,然後你可以把下劃線在那裏還有:

"[^\\P{Punct}_]+" 

另外,使用負前瞻

"(?:(?!_)\\p{Punct})+" 

而且,看到你的榜樣,也許這樣簡單的東西會爲你足夠:

"[^\\w\\s]+" 

將刪除除了字母,數字,下劃線和WHI一切tespace。

+0

+1你就應該得到更多的信貸固定了其他人的答案! – assylias

+0

@assylias:D謝謝。我只是意識到,我必須自己修理我自己的^^ –

+0

+1,信用卡在哪裏,因爲信用:) –

5

用途設置不同:

System.out.println("#%a#%^$^_#$%b#$".replaceAll("[\\p{Punct}&&[^_]]", "")); 

打印

a_b 

參考:Character Classes

+0

至少如果你否定它,我想 –

+1

@MarkoTopolnik這是更好地安全比downvoted ;-) –

+0

@JanDvorak完全知道這事......有時候我冒這個險:) –

相關問題