我想从字符串中删除所有特殊字符,数字和普通a-z字符除外。
我这样做是这样的:
text = text.replaceAll("[^a-zA-Z0-9 ]+", "");
这种方法的问题在于,它还会删除所有非拉丁字符,例如è,é,ê,ë和许多其他字符。
非特殊字符(我要保留的字符)是指所有语言的所有数字和所有字母字符,或者至少是尽可能多的。
如何仅删除特殊字符?
最佳答案
您可以为所有字母尝试\p{L}
,为所有数字尝试\p{N}
:
text = text.replaceAll("[^\\p{L}\\p{N} ]+", "");