我有应用程序存储服务器的字符串值.然后我使用SearchView写入可以在List中的字符串.它必须不区分大小写.到目前为止,我有这个.但这不是我想要的魔力.
if (myListTags as NSArray).containsObject(searchBar.text!) { print("FOUND") getCategoryPick() }
我尝试用caseInsensitiveCompare加入它,但我失败了.对我有什么帮助?
如果该代码能够理解捷克语中的字母相似性,那将是完美的.(č= c,ž= z,í= i ……)
解决方法
“č”是Unicode字符“LATIN SMALL LETTER C WITH CARON”.
它可以分解为“c”“”,后者(“CARON”)是所谓的“变音标记”.
它可以分解为“c”“”,后者(“CARON”)是所谓的“变音标记”.
在比较字符串时忽略变音符号(这样
“č”=“c”),使用.DiacriticInsensitiveSearch选项:
let list = ["č","ž"] let search = "C" if (list.contains { $0.compare(search,options: [.DiacriticInsensitiveSearch,.CaseInsensitiveSearch]) == .OrderedSame }) { print("Found") }
或者,如果要查找匹配的子字符串:
if (list.contains { $0.rangeOfString(search,.CaseInsensitiveSearch]) != nil }) { print("Found") }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。