如何将À,Á,Â,Ã,Ä,Å映射到A以获得更有效的搜索?
我正在编写一个Android应用程序,需要使用某些字符上的符号搜索一组字符串。
为了使搜索结果更强大,我想将À,Á,Â,Ã,Ä,Å映射到A。例如,如果用户的查询是“Test”,则以下字符串应与查询匹配:Tȅst,Tȇst,Teśt等
在Android级别> = 8?
的Android中是否有任何可行的方法答案 0 :(得分:3)
Lucene做了这样的事情。请查看org.apache.lucene.analysis.icu.ICUNormalizer2Filter
,了解搜索文本规范化的方法。
答案 1 :(得分:1)
String text = "Your SeÅrchable Text";
String searchMe = text.replaceAll("[ÀÁÂÃÄÅ]", "A");
我只是在主要字符串的可搜索版本中替换所有这些。很简单! 如果有多种情况(例如奇怪的'E'字符,只需做另一个替换所有:
searchMe = searchMe.replaceAll("[EEEEEE]", "E"); //(note: those are the weird Es in there)