从字符串中获取字符列表[a-z]的最佳方法是什么,忽略任何其他特殊字符或数字?
答案 0 :(得分:7)
您可以使用正则表达式:
String lettersOnly = original.replaceAll("[^a-z]", "");
或
String lettersOnly = original.replaceAll("[^a-zA-Z]", "");
虽然你也可以使用Unicode组,但我个人觉得更容易识别和理解一个简单的集合,如az或a-zA-Z - 这意味着我不需要查询它是否包含非ASCII人物:)
答案 1 :(得分:3)
将自己限制为a-z
可能会删除您想要的字符。例如它删除除a-z以外的大写和字母。您可能更愿意尝试
String alphaOnly = text.replaceAll("[^\\p{Alpha}]", "");
这包括来自任何语言的大写和小写字母。