2012-03-05 91 views
1

如何用一個字符串中的空格替換所有數字和特殊字符(使用Java)?正則表達式用空格替換所有數字和特殊字符?

+0

做你試圖在你自己的,你可以通過谷歌搜索 – developer 2012-03-05 09:48:40

+0

瞭解正則表達式找到很多例如:http:// java的。 sun.com/developer/technicalArticles/releases/1.4regex/ – 2012-03-05 09:52:30

+0

試試這個 String str =「_dfgh/- +!@#$%^ &())\";:[] {} \\ | wetyk 6_78 _dfgh」; String result = str.replaceAll(「[^ A-Za-z _]」,「」); – ANIL 2013-05-30 05:50:20

回答

12
String resultString = subjectString.replaceAll("\\P{L}", " "); 

將取代每一個字符,這不是一個空間的信。

+1

+1個答案,非常有幫助 – developer 2012-03-05 09:57:07

5

myString = myString.replaceAll("[^a-zA-Z_]", " ");
這將更換不信所有本地字符,並強調

+2

那麼'é'不是一個字母,那麼? – 2012-03-05 09:52:55

+0

然後它將被替換。 'é'是一種特殊的人物。如果他不想替換這樣的字符,他應該將所有這些字符都包含到正則表達式中,因爲有許多這樣的字母和許多特殊字符。 – shift66 2012-03-05 09:55:08

+0

只是爲了澄清蒂姆:é是一封信(而不是特殊字符)。它不可能包含所有的正則表達式。這裏唯一的解決方案是使用像@TimPietzcker那樣的適當的Unicode屬性。 – stema 2012-03-05 10:04:35

1

不確定你的空間是什麼意思?你的意思是你想刪除這些字符(替換爲空)?

String text2 = text.replaceAll("[^\\p{Alpha} ]", ""); // leaves letters and spaces. 

如果運行

String text = "String text2 = text.replaceAll(\"[^\\p{Alpha} ]\", \"\");"; 
String text2 = text.replaceAll("[^\\p{Alpha} ]", ""); 
System.out.println(text2); 

String text textreplaceAllw 
+0

這也刪除了字母。 – 2012-03-05 10:08:37

+0

我已經添加了一個示例,並對其進行了修復。它並沒有刪除字母,也沒有刪除數字,但我解決了這個問題。 – 2012-03-05 10:16:01

相關問題