为了账号安全,请及时绑定邮箱和手机立即绑定

Java 字符串规范化

Java 字符串规范化

繁花如伊 2023-11-01 22:24:20
是否有一个Java库可以通过删除空格/特殊字符、小写所有字母来标准化字符串,例如:S-cube Abc' Inc.to scubeabcinc?
查看完整描述

3 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

java.text.Normalizer。Java 以 Unicode 保存文本,并且é可以写为一个 Unicode 符号、代码点,或写为两个,一个e和一个零宽度'。Unicode 规范化对于字典、文件名来说非常重要。规范化器可用于分解为字母和重音符号(变音标记),并使用正则表达式删除replaceAll所有重音符号。

Character具有 Unicode 支持,为代码点提供 Unicode 名称,将代码点分类为字母、数字、多种脚本等。

Collate面向区域设置的,它为单词、排序创建特定的键,如Comparator。在一种语言环境中,顺序可能是 AaBbCcĉD..,而在另一种语言环境中,顺序可能是 ABC...abc 等。Locale指定为大写。例如,在土耳其语中有字母 i-without-dot和 i-with-dot İi

然后是您的用例:减少。例如,有用于声音相似表示的soundex算法(第三方)。正则表达式可以删除插点等String.replaceAll


查看完整回答
反对 回复 2023-11-01
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

除了 String 之外不需要其他库,String.replaceAll并且String.toLowerCase可以满足您的需求:

  String s = "S-cube Abc' Inc.";
  s = s.replaceAll("[^a-zA-Z]", "").toLowerCase();


查看完整回答
反对 回复 2023-11-01
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

不需要图书馆。只需使用正则表达式和String#toLowerCase


String s = "S-cube Abc' Inc.";

s = s.replaceAll("[^a-zA-Z]", "");

s = s.toLowerCase();

System.out.println(s);


查看完整回答
反对 回复 2023-11-01
  • 3 回答
  • 0 关注
  • 184 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信