我想从字符串中删除所有特殊字符,数字和普通a-z字符除外。

我这样做是这样的:

text = text.replaceAll("[^a-zA-Z0-9 ]+", "");

这种方法的问题在于,它还会删除所有非拉丁字符,例如è,é,ê,ë和许多其他字符。

非特殊字符(我要保留的字符)是指所有语言的所有数字和所有字母字符,或者至少是尽可能多的。

如何仅删除特殊字符?

最佳答案

您可以为所有字母尝试\p{L},为所有数字尝试\p{N}:

text = text.replaceAll("[^\\p{L}\\p{N} ]+", "");

07-24 18:58
查看更多