Xcode中的NSDiacriticInsensitiveSearch是一个有助于搜索而不需要处理重音的功能:“e”=“é”。此功能向用户显示开始/具有“e”和“é”的单词的所有结果,无论用户输入“e”还是“é”
android平台上这个函数的等价物是什么?
答案 0 :(得分:0)
据我所知,Android(或Java真的)不提供开箱即用的任何东西。但是,您可以使用Apache Commons StringUtils.stripAccents
方法从搜索字符串和搜索字符串中删除重音,然后执行搜索。因此,您不会在string1
内搜索string2
,而是在StringUtils.stripAccents(string1)
内搜索StringUtils.stripAccents(string2)
。
它不是完全相同的东西,但它应该让你合理地接近。
答案 1 :(得分:0)
如果您可以减少比较一对字符串的问题,java.text.Collator
(SE 7 JavaDoc,Android JavaDoc)会为使用不同“强度”模式比较两个字符串提供基础:{ {1}}会区分“e”和“é”字符,而PRIMARY
会将它们视为相等。