4

如何将 À, Á, Â, Ã, Ä, Å 映射到 A 以实现更高效的搜索?

我正在编写一个 Android 应用程序,该应用程序需要在某些字符上使用这些符号搜索一组字符串。

为了使搜索结果更强大,我想将 À, Á, Â, Ã, Ä, Å 映射到 A。例如,如果用户的查询是“Test”,则以下字符串应与查询匹配:Tȅst, Tȇst、Teśt 等

在API级别> = 8的Android中是否有任何可能的方法?

4

2 回答 2

3

Lucene 做这种事情。看看org.apache.lucene.analysis.icu.ICUNormalizer2Filterfor an approach to text normalization for search。

于 2013-09-27T23:19:56.433 回答
1
String text = "Your SeÅrchable Text";
String searchMe = text.replaceAll("[ÀÁÂÃÄÅ]", "A");

我会在主字符串的可搜索版本中替换所有这些。很简单!如果有多种情况(例如奇怪的 'E' 字符,只需再做一次 replaceAll:

searchMe = searchMe.replaceAll("[EEEEEE]", "E"); //(note: those are the weird Es in there)
于 2013-09-27T23:09:10.073 回答