在swift词典中找到一个包含字符串的键
发布时间:2020-12-14 05:19:43 所属栏目:百科 来源:网络整理
导读:我有一个[String:String]字典.我想获得与包含字符串“S”的任何键相关联的值.订单无关紧要. 这很简单:只需获取所有键,迭代,返回第一个匹配条件. 但是,我想用一种快速优雅的方法来做到这一点.使用过滤器或地图功能的东西.这就是我迷路的地方…… 由于您只对
我有一个[String:String]字典.我想获得与包含字符串“S”的任何键相关联的值.订单无关紧要.
这很简单:只需获取所有键,迭代,返回第一个匹配条件. 但是,我想用一种快速优雅的方法来做到这一点.使用过滤器或地图功能的东西.这就是我迷路的地方……
由于您只对任何匹配值感兴趣, 您可以使用indexOf()方法查找第一个匹配项 字典条目.这是因为 字典是键/值对的集合. 斯威夫特2: let dict = ["foo": "bar","PQRS": "baz"] let searchTerm = "S" if let index = dict.indexOf({ (key,_) in key.containsString(searchTerm) }) { let value = dict[index].1 print(value) } else { print("no match") } 一旦找到匹配的键,谓词就返回true 对于不区分大小写的键搜索,请替换谓词 { (key,_) in key.rangeOfString(searchTerm,options: .CaseInsensitiveSearch) != nil } 在Swift 3中,您可以使用first(where :)来查找第一个匹配项 if let entry = dict.first(where: { (key,_) in key.contains(searchTerm) }) { print(entry.value) } else { print("no match") } 对于不区分大小写的键搜索,_) in key.range(of: searchTerm,options: .caseInsensitive) != nil } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |