小编Sep*_*miu的帖子

在Swift中将字符串减少为字典

什么是一个简单的方法来减少像AAA:111;BBB:222;333;444;CCC:555Swift中的字典一样的字符串.我有以下代码:

var str = "AAA:111;BBB:222;333;444;CCC:555"
var astr = str.componentsSeparatedByString(";").map { (element) -> [String:String] in
    var elements = element.componentsSeparatedByString(":")
    if elements.count < 2 {
        elements.insert("N/A", atIndex: 0)
    }
    return [elements[0]:elements[1]]
}
Run Code Online (Sandbox Code Playgroud)


上面的代码产生一个阵列字典:
[["A": "111"], ["BBB": "222"], ["UKW": "333"], ["UKW": "444"], ["CCC": "555"]]

我希望它能产生,
["A": "111", "BBB": "222", "UKW": "333", "UKW": "444", "CCC": "555"]

但是没有我尝试的东西,因为我map在一个数组上调用函数似乎不可能转换map函数结果的性质.

注意:字符串格式的字典被描述为具有KEY:VALUE;格式或VALUE;格式,在这种情况下,映射函数将添加"N/A"as作为未命名值的键.

非常感谢任何有关此事的帮助.

arrays dictionary swift swift2

1
推荐指数
1
解决办法
1221
查看次数

标签 统计

arrays ×1

dictionary ×1

swift ×1

swift2 ×1