微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

arrays – 在Array中搜索字符串,不区分大小写

我有应用程序存储服务器的字符串值.然后我使用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”),使用.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] 举报,一经查实,本站将立刻删除。

相关推荐