swift 比较字符串时如何从字符串中获取原始字符

moiiocjp  于 2023-01-19  发布在  Swift
关注(0)|答案(1)|浏览(172)

当用户点击小写或大写字符时,我正在尝试获取原始字符。
例如:用户向搜索栏"hello"写入内容。当我比较小写字符时,我得到的结果是正确的。但我试图从字符串("hello")中获取原始字符。

let string = "HELlo WORld"

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    
    if searchBar.text != nil && searchBar.text != "" {
        
        if string.lowercased().contains(searchText.lowercased()) {
                
               print("true")
               // searchText is hello
               // I want to get HELlo from string
        }
    }
}
rta7y2nd

rta7y2nd1#

不要使用contains函数,而是使用range(of:,然后将其应用于原始字符串:

func find(_ searchText: String, in string: String) -> String {
    if let range = string.range(of: searchText, options: [.caseInsensitive, .diacriticInsensitive]) {
        return String(string[range])
    } else {
        return "Not found"
    }
}

相关问题