gpt4 book ai didi

android - 在字符串中搜索不区分重音的子字符串

转载 作者:行者123 更新时间:2023-11-29 01:22:12 33 4
gpt4 key购买 nike

我是希腊人。当我在我的联系人中搜索子字符串 "αυλ" 时,所有这些联系人都匹配:"Παύλος""Παυλίνα" “Αυλός”

因此,Android 在字母“α”中同时匹配字母“α”和“ì”。

是否有此功能的 API,或者我必须用困难的方式编写代码?例如:string.replaceAll("ì", "α").replaceAll("έ", "ε").replaceAll(......)这不是多语言方法。

最佳答案

代码来自link似乎符合您的要求。

import java.text.Normalizer;
import java.util.regex.Pattern;

public String deAccent(String str) {
String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD);
Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
return pattern.matcher(nfdNormalizedString).replaceAll("");
}

在最近的 Java 版本中,通过 \p{Script=Greek}\p{sc=Greek}\p 添加了一些 Unicode 支持{IsGreek}\p{Greek}。您可能想要研究使用这些。

关于android - 在字符串中搜索不区分重音的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36143089/

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