Java。比较字符串时忽略重音
我认为您应该使用Collator类。它允许您设置强度和区域设置,并将适当地比较字符。
从Java 1.6 API中:
您可以设置“整理器”的“强度”属性来确定在比较中被视为重要的差异水平。提供了四个优势:主要,次要,高等教育和同等优势。语言功能的优势确切分配取决于语言环境。例如,在捷克语中,“ e”和“ f”被认为是主要区别,而“ e”和“ě”是次要区别,“ e”和“ E”是三次区别,而“ e”和“ e”相同。
我认为这里的重点(人们正在尝试做到的)是,“ Joao”和“João”永远不应被视为相等,但是,如果要进行排序,则不希望基于ASCII值对它们进行比较因为那样您会遇到Joao,John,João之类的东西,这是不好的。使用collator类肯定可以正确处理此问题。
问题很简单。JAVA中是否有任何函数可以比较两个字符串并在忽略重音字符的情况下返回true?
即
String x = "Joao";
String y = "João";
回报相等。
谢谢
你可能想看: