2012-03-05 88 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

相关问题