检查字典键是否包含字符串

时间:2015-12-22 22:59:17

标签: swift dictionary

说我有以下词典[" Lionel Messi":" 170cm"]

如果我只知道密钥字符串的一部分,是否有可能找到该键值对。换句话说,如果我只有字符串" Lione",是否有可能找到上面提到的键值对。

2 个答案:

答案 0 :(得分:3)

func findPartOfString(partOfKey: String, myDict: Dictionary) -> String {
    for (key, value) in myDict {
        if key.containsString(partOfKey) {
            return value
        }
    }
    return null
}

编辑:

这是使用Swift2的一种新的更短的方式:

func findPartOfString(partOfKey: String, myDict: Dictionary) -> String {
    for (key, value) in myDict where key.containsString(partOfString) {
        return value
    }
    return null

答案 1 :(得分:3)

let filter = "Lionel"
let dict = ["Lionel Messi" : "170cm", "Me" : "Taller"]
let result = dict.keys.filter { $0.containsString(filter) }
if let first = result.first {
    print("match found: (\(first) => \(dict[first]!))")
}

输出

  匹配发现:( Lionel Messi => 170cm)