我想要一個正則表達式來移除除下劃線之外的所有特殊字符。我可以替換所有特殊字符,但我不知道如何保留下劃線。下面是刪除所有speial字符代碼,用於替換除下劃線之外的所有特殊字符的Java正則表達式
String myname= "[email protected]#-".replaceAll("\\p{Punct}+", "");
任何想法如何讓我保持下劃線修改的正則表達式?
感謝, 帕特里克
我想要一個正則表達式來移除除下劃線之外的所有特殊字符。我可以替換所有特殊字符,但我不知道如何保留下劃線。下面是刪除所有speial字符代碼,用於替換除下劃線之外的所有特殊字符的Java正則表達式
String myname= "[email protected]#-".replaceAll("\\p{Punct}+", "");
任何想法如何讓我保持下劃線修改的正則表達式?
感謝, 帕特里克
好\\p...
相同[^\\P...]
(否定的字符CL字符不具有屬性)的屁股,然後你可以把下劃線在那裏還有:
"[^\\P{Punct}_]+"
另外,使用負前瞻
"(?:(?!_)\\p{Punct})+"
而且,看到你的榜樣,也許這樣簡單的東西會爲你足夠:
"[^\\w\\s]+"
將刪除除了字母,數字,下劃線和WHI一切tespace。
用途設置不同:
System.out.println("#%a#%^$^_#$%b#$".replaceAll("[\\p{Punct}&&[^_]]", ""));
打印
a_b
至少如果你否定它,我想 –
@MarkoTopolnik這是更好地安全比downvoted ;-) –
@JanDvorak完全知道這事......有時候我冒這個險:) –
+1你就應該得到更多的信貸固定了其他人的答案! – assylias
@assylias:D謝謝。我只是意識到,我必須自己修理我自己的^^ –
+1,信用卡在哪裏,因爲信用:) –