我试过用这个,但没有用
return value.replaceAll("/[^A-Za-z0-9 ]/", "");
我试过用这个,但没有用
return value.replaceAll("/[^A-Za-z0-9 ]/", "");
当前回答
return value.replaceAll("[^A-Za-z0-9 ]", "");
这将使空间完好无损。我猜这就是你想要的。否则,从正则表达式中删除空格。
其他回答
你也可以试试这个更简单的正则表达式:
str = str.replaceAll("\\P{Alnum}", "");
Java的正则表达式不需要在正则表达式周围加上正斜杠(/)或任何其他分隔符,这与Perl等其他语言不同。
Try
return value.replaceAll("[^A-Za-z0-9]", "");
or
return value.replaceAll("[\\W]|_", "");
Guava的CharMatcher提供了一个简洁的解决方案:
output = CharMatcher.javaLetterOrDigit().retainFrom(input);
return value.replaceAll("[^A-Za-z0-9 ]", "");
这将使空间完好无损。我猜这就是你想要的。否则,从正则表达式中删除空格。