【发布时间】:2014-05-22 09:23:21
【问题描述】:
Xcode 中的 NSDiacriticInsensitiveSearch 是一个无需处理重音符号即帮助搜索的函数:“e”="é"。此功能向用户显示以“e”和“é”开头/具有“é”的单词的所有结果,无论用户输入“e”还是“é”
这个函数在android平台上的等价物是什么??
【问题讨论】:
标签: java android search dictionary
Xcode 中的 NSDiacriticInsensitiveSearch 是一个无需处理重音符号即帮助搜索的函数:“e”="é"。此功能向用户显示以“e”和“é”开头/具有“é”的单词的所有结果,无论用户输入“e”还是“é”
这个函数在android平台上的等价物是什么??
【问题讨论】:
标签: java android search dictionary
据我所知,Android(或真正的 Java)不提供开箱即用的类似功能。但是,您可以使用 Apache Commons StringUtils.stripAccents 方法从搜索字符串和搜索字符串中去除重音符号,然后进行搜索。因此,不是在string2 中搜索string1,而是在StringUtils.stripAccents(string2) 中搜索StringUtils.stripAccents(string1)。
这不完全一样,但它应该让你相当接近。
【讨论】:
如果您可以将问题简化为比较一对字符串,java.text.Collator(SE 7 JavaDoc、Android JavaDoc)提供了使用不同“强度”模式比较两个字符串的基础:PRIMARY 将区分“ e" 和 "é" 字符,而SECONDARY 将它们视为平等。
【讨论】: