gpt4 book ai didi

java - 对带有重音符号等特殊字符的数组进行排序

转载 作者:搜寻专家 更新时间:2023-10-30 21:19:51 25 4
gpt4 key购买 nike

有人知道如何对包含重音符号等特殊字符的单词排序吗?

Arrays.sort(anArray);

'Álava' 之前返回 'Albacete',而我想要在 'Albacete' 之前返回 'Álava' .

非常感谢

最佳答案

如果您只想对字符串进行排序,就好像它们没有重音符号一样,您可以使用以下方法:

Collections.sort(strs, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
o1 = Normalizer.normalize(o1, Normalizer.Form.NFD);
o2 = Normalizer.normalize(o2, Normalizer.Form.NFD);
return o1.compareTo(o2);
}
});

相关问题:

对于更复杂的用例,您需要阅读 java.text.Collator .这是一个例子:

Collections.sort(strs, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
Collator usCollator = Collator.getInstance(Locale.US);
return usCollator.compare(o1, o2);
}
});

如果没有预定义的排序规则满足您的需求,您可以尝试使用 java.text.RuleBasedCollator .

关于java - 对带有重音符号等特殊字符的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26420678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com