3 回答
TA贡献1874条经验 获得超12个赞
有java.text.Normalizer
。Java 以 Unicode 保存文本,并且é
可以写为一个 Unicode 符号、代码点,或写为两个,一个e
和一个零宽度'
。Unicode 规范化对于字典、文件名来说非常重要。规范化器可用于分解为字母和重音符号(变音标记),并使用正则表达式删除replaceAll
所有重音符号。
Character
具有 Unicode 支持,为代码点提供 Unicode 名称,将代码点分类为字母、数字、多种脚本等。
有Collate
面向区域设置的,它为单词、排序创建特定的键,如Comparator
。在一种语言环境中,顺序可能是 AaBbCcĉD..,而在另一种语言环境中,顺序可能是 ABC...abc 等。Locale
指定为大写。例如,在土耳其语中有字母 i-without-dotIı
和 i-with-dot İi
。
然后是您的用例:减少。例如,有用于声音相似表示的soundex算法(第三方)。正则表达式可以删除插点等String.replaceAll
。
TA贡献1951条经验 获得超3个赞
除了 String 之外不需要其他库,String.replaceAll
并且String.toLowerCase
可以满足您的需求:
String s = "S-cube Abc' Inc."; s = s.replaceAll("[^a-zA-Z]", "").toLowerCase();
TA贡献1802条经验 获得超6个赞
不需要图书馆。只需使用正则表达式和String#toLowerCase
:
String s = "S-cube Abc' Inc.";
s = s.replaceAll("[^a-zA-Z]", "");
s = s.toLowerCase();
System.out.println(s);
添加回答
举报