gpt4 book ai didi

java - 比较字符串时忽略字体类型

转载 作者:行者123 更新时间:2023-12-01 18:13:15 27 4
gpt4 key购买 nike

我有一本外语词典,我将其加载到 map 中,用户将输入术语进行翻译;这都是基本的。但是,由于用户和字典(这是一个平面文本文件)的字体类型,我遇到了 map 查找(map.get(“term”))的问题;它们是不同的,大约有1/3的术语由于字体的不同而找不到。例如(字体没有显示,因此我包含了 uri 编码值以显示差异。URI 编码不是我正在寻找的解决方案):

String a1 = "A";// uri encode value \uff21
String a2 = "A";// uri encode value \u0041
Boolean a3 = a1.equals(a2);
System.out.println(a3); // false

字典文件非常大,在将其加载到 map 之前我没有足够的时间进行数据清理。我还没有找到任何可以处理此类问题的字符串函数或 API。有人以前遇到过这个问题吗?有人可以提供一些关于如何在忽略字体的情况下比较字符串的想法吗?

最佳答案

您可以使用Java的Collat​​or类:

Collator c = Collator.getInstance(Locale.US);
c.setStrength(Collator.IDENTICAL);
c.setDecomposition(Collator.FULL_DECOMPOSITION);
boolen a3 = c.equals(a1, a2); // should be true now

参见https://docs.oracle.com/javase/7/docs/api/java/text/Collator.html了解更多信息。

关于java - 比较字符串时忽略字体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31279750/

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