我有各种文本文件,其中每行包含string-key = string-value
我可以将文件读入字符串(或者可能是数组),逐行检查并自行拆分为键/值对,但是,我想知道我是否遗漏了一些内置的或更简单的"迅速"这样做的方式(swift的新手)
我在
之前找不到这个问题答案 0 :(得分:1)
核心概念仍然依赖于componentsSeparatedByString
,但您可以通过使用像reduce
这样的高阶函数来使其更像“Swifty”:
let fileContent = try! NSString(contentsOfFile: "/path/to/file.txt", encoding: NSUTF8StringEncoding)
let result = fileContent.componentsSeparatedByString("\n")
.reduce([String: String]()) { (var dict, line) in
let components = line.componentsSeparatedByString("=")
dict[components[0]] = components[1]
return dict
}
它的作用是:逐行拆分文件的内容,以空[String: String]
开头,遍历每一行,拆分它并将键值分配给字典。