Java字符串比较 - 忽略字母重音和大小写

时间:2016-05-07 20:44:37

标签: java regex string unicode utf

我正在寻找一种方法来比较两个字符串,而不考虑他们的字母重音和案例。

我正在使用不同语言解析一个包含许多名称的大型文档,有时用户忘记添加重音,只是懒得将重音添加到他们的名字,或者不同语言中的同名拼写相同的事实字母但没有重音。

例如,"COTE D'IVOIRE" = "Côte d'Ivoire"将成立。

我知道Java内置了.equalsIgnoreCase但是如何在忽略重音和大小写的情况下比较重音?

1 个答案:

答案 0 :(得分:0)

您可以先使用Normalizer删除所有重音(请参阅this question),然后比较忽略大小写。

编辑 - 或者,正如用户@lbarros指出的那样,Collator可以更好地工作