[英]Remove all special characters from a string not including non-latin characters
我想从字符串中删除除数字和普通az字符之外的所有特殊字符。
我是这样做的:
text = text.replaceAll("[^a-zA-Z0-9 ]+", "");
这种方式的问题在于它还会删除所有非拉丁字符,如è,é,ê,ë和其他许多字符。
非特殊字符(我想保留的字符)是指所有语言的所有数字和所有字母字符,或者至少尽可能多。
我如何只删除特殊字符?
对于所有数字,您可以尝试\\p{L}
对于所有数字,您可以尝试\\p{L}
\\p{N}
:
text = text.replaceAll("[^\\p{L}\\p{N} ]+", "");
我知道你说正则表达式, 但如果番石榴是一个选项 :
CharMatcher.JAVA_LETTER_OR_DIGIT.retainFrom("èêAAAGRt123")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.