ios - 如何搜索包含集合中某些字符的字符串?

标签 ios swift search set

如何搜索Set 以获得以下结果?

let brands: Set = ["apple", "microsoft", "hp", "lenovo", "asus", "qualcomm", "intel", "kingston"]

findValueinSet(brands, withCharacters: "a", "u") // returns "asus"

最佳答案

您可以使用

过滤集合和数组
filter(setOrArray, predicate)

两种情况下的结果都是一个数组。是否所有字符 一个给定的集合包含在一个字符串中可以用

来确定
searchCharacters.isSubsetOf(string)

一起:

let brands: Set<String> = ["apple", "microsoft", "hp", "lenovo", "asus", "qualcomm", "intel", "kingston"]
let searchCharacters = Set("au")

let filtered = filter(brands) { searchCharacters.isSubsetOf($0) }
println(filtered) // [qualcomm, asus]

如果 brands 是数组或一组 String,则此方法有效。

备注:您不应该定义一个包含 68k 元素的文字数组 在 Swift 源代码中。最好使用资源文件(一个简单的文本 文件或属性列表)并在运行时从那里加载数组。

关于ios - 如何搜索包含集合中某些字符的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30426403/

相关文章:

swift - 点击手势事件不适用于 UIView

ios - 更改 TableViewController.swift 类

ios - 用户界面 TableView : Change cell height dynamically when clicked the custom button

javascript - React.js : Find a string in a string and make it clickable if found

ios - 是否可以手动调用 UITableview 的 editActionsForRowAt?

ios - 当结果不匹配时,搜索栏过滤器不会清除表格

search - 根据嵌套字段值修改elasticsearch分数

Django haystack 和 whoosh

ios - 单击第二个文本字段时键盘未隐藏

ios - UITableView 过滤