gpt4 book ai didi

java - 如何比较非英语字符和重音符号

转载 作者:太空狗 更新时间:2023-10-29 22:51:11 24 4
gpt4 key购买 nike

我想比较两个包含非英文字符的字符串

String1 = debarquer
String2 = débárquér

在比较以上 2 个字符串时,它们应该相等。

最佳答案

使用 Collat​​or 类。它允许您设置强度和区域设置,它会适本地比较字符。

应该是类似这样的(注意:我没有测试过程序)

import java.text.Collator;
import java.util.Locale;

public class CollatorExp {

public static void main(String[] args) {
Collator collator = Collator.getInstance(Locale.FRENCH);
collator.setStrength(Collator.PRIMARY);

if (collator.compare("débárquér", "debarquer") == 0) {
System.out.println("Both Strings are equal");
} else {
System.out.println("Both Strings are not equal");
}
}
}

更新:需要注意的一点是“débárquér”和“debarquer”永远不应被视为相等。但是如果您要对它们进行分类,那么您不希望根据它们的 ASCII 值来比较它们。以“Joao”和“João”为例:如果根据 ASCII 对它们进行排序,您可能会得到 Joao、John、João。这显然不好。使用整理器类可以正确处理这个问题。

关于java - 如何比较非英语字符和重音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12927913/

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