一尘不染

检查数组是否包含Swift中字符串的一部分?

swift

我有一个包含多个字符串的数组。我已经使用contains()(请参阅下文)检查数组中是否存在某个字符串,但是我想检查字符串中是否有一部分字符串?

itemsArray = ["Google, Goodbye, Go, Hello"]

searchToSearch = "go"

if contains(itemsArray, stringToSearch) {
    NSLog("Term Exists")
}
else {
    NSLog("Can't find term")
}

上面的代码只是检查数组中是否整体存在一个值,但是我想找到 "Google, Google and Go"


阅读 272

收藏
2020-07-07

共1个答案

一尘不染

这样尝试。

let itemsArray = ["Google", "Goodbye", "Go", "Hello"]
let searchToSearch = "go"

let filteredStrings = itemsArray.filter({(item: String) -> Bool in

     var stringMatch = item.lowercaseString.rangeOfString(searchToSearch.lowercaseString)
     return stringMatch != nil ? true : false
})

filteredStrings 将包含具有匹配子字符串的字符串列表。

在Swift中,Arraystruct提供了filter方法,该方法将基于过滤文本条件来过滤提供的数组。

2020-07-07