<分区>
我想知道是否有一种方法可以比较 2 个字符串并忽略使“noção”等于“nocao”的重音符号。 它会像 string1.methodCompareIgnoreAccent(string2);
<分区>
我想知道是否有一种方法可以比较 2 个字符串并忽略使“noção”等于“nocao”的重音符号。 它会像 string1.methodCompareIgnoreAccent(string2);
最佳答案
您可以使用 java Collators 来比较忽略重音的测试,看一个简单的例子:
import java.text.Collator;
/**
* @author Kennedy
*/
public class SimpleTest
{
public static void main(String[] args)
{
String a = "nocao";
String b = "noção";
final Collator instance = Collator.getInstance();
// This strategy mean it'll ignore the accents
instance.setStrength(Collator.NO_DECOMPOSITION);
// Will print 0 because its EQUAL
System.out.println(instance.compare(a, b));
}
}
文档:JavaDoc
我不会详细解释,因为我只使用了一点 Collators 并且我不是这方面的专家,但你可以谷歌一些关于它的文章。
关于java - 比较忽略重音字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28833797/