如何将À,Á,Â,Ã,Ä,Å映射到A以获得更有效的搜索?

时间:2013-09-27 23:02:51

标签: java android regex search

如何将À,Á,Â,Ã,Ä,Å映射到A以获得更有效的搜索?

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

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

在Android级别> = 8?

的Android中是否有任何可行的方法

2 个答案:

答案 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)