let filterString = ""
let s = "HELLO"
let f = s.localizedCaseInsensitiveContains(filterString)
print(f)
例如: ....
private let people = ["Finn", "Leia", "Luke", "Rey"]
func getList(filterString: String)->[String]{
if filterString.isEmpty{
return people
}
let result = people.filter({ (p: String) -> Bool in
print(p)
let f = p.localizedCaseInsensitiveContains(filterString)
return f
})
return result
}
6条答案
按热度按时间rm5edbpk1#
您可以尝试使用
localizedCaseInsensitiveContains
b4qexyjb2#
返回一个布尔值,该值指示给定字符串是否为非空,以及是否通过不区分大小写的非文本搜索包含在此字符串中,同时考虑当前区域设置。可以通过调用range(of:options:range:locale:)来实现不区分区域设置的大小写操作和其他需要。
等同于:范围(属于:其他,选项:. case不敏感搜索,区域设置:区域设置.当前)!= nil
还是用
gjmwrych3#
最简单的方法可能是将字符串小写并进行比较:
Swift 3及以上
x6492ojm4#
答案2020:
即使我把中文或阿拉伯文,下面的测试代码仍然返回TRUE
x759pob25#
我的2美分当使用过滤(例如在SwiftUI中的列表。如果您正在过滤,空字符串返回false:
例如:
....
u1ehiz5o6#
你可以用这个
在someArray中,您将获得所有匹配的字符串
例如,如果在RecentSavedData数组中有一个类似**"Gel"的字符串,并且如果键入"gel"**,它将为您提供Gel。