我试过用这个,但没有用

return value.replaceAll("/[^A-Za-z0-9 ]/", "");

当前回答

你也可以试试这个更简单的正则表达式:

 str = str.replaceAll("\\P{Alnum}", "");

其他回答

使用番石榴,您可以轻松地组合不同类型的标准。对于您的具体解决方案,您可以使用:

value = CharMatcher.inRange('0', '9')
        .or(CharMatcher.inRange('a', 'z')
        .or(CharMatcher.inRange('A', 'Z'))).retainFrom(value)

使用[^ A-Za-z0-9]。

注意:删除了空格,因为它通常不被认为是字母数字。

Dart

如果你试过了,但没有成功…

价值。replaceAll(“[^ A-Za-z0-9] ", " ");

就像这样使用RegExp:

价值replaceAll (RegExp(“[^ A-Za-z0-9]”),“”);

你也可以试试这个更简单的正则表达式:

 str = str.replaceAll("\\P{Alnum}", "");
return value.replaceAll("[^A-Za-z0-9 ]", "");

这将使空间完好无损。我猜这就是你想要的。否则,从正则表达式中删除空格。