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);
添加回答
举报
