6

我尽量只保留字母和数字

String str = "it's too hard & jean say";
String strNew = str.replaceAll("[^A-Za-z0-9\\s]", "");

我尝试使用此代码,但未删除空间。

所以我寻找一种方法来删除它。

4

3 回答 3

12

它不会删除空格,因为您已指定用空字符串替换除字母 ( A-Za-z)、数字 ( 0-9)和空格( ) 之外的所有内容。\\s

只需删除\\s它,它还应该用空字符串替换空格。

String strNew = str.replaceAll("[^A-Za-z0-9]", "");
于 2013-10-23T19:34:29.787 回答
3

最简单的正则表达式是\W. 试试看嘛

 String strNew = str.replaceAll("\\W", "");
于 2013-10-24T19:28:19.980 回答
2

用于regex这种简单的情况(如果您的意图只是删除空格)显然是矫枉过正。为什么不只是做

String strNew = str.replaceAll(" ", "");

于 2013-10-23T19:35:37.193 回答