我正在尝试以这种格式解析包含以下数据的.txt文件的内容:
93 --- Afghanistan
355 --- Albania
213 --- Algeria
684 --- American Samoa
376 --- Andorra
244 --- Angola
...
1 670 --- North Mariana Islands (Saipan)
...
仅供参考,这些是不同国家的区号。
我需要使用Swift读取数据,并将其放入字典中,其中键是国家/地区名称,值是区号。
这是我到目前为止的代码:
class ViewController: UIViewController {
var dataArray:[String]?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
loadCountryCodes()
}
func loadCountryCodes() {
// Specify the path to the countries list file.
let pathToFile = NSBundle.mainBundle().pathForResource("countrycodes", ofType: "txt")
if let path = pathToFile {
// Load the file contents as a string.
let countriesString = try! String(contentsOfFile: path, encoding: NSUTF8StringEncoding)
// Append the countries from the string to the dataArray array by breaking them using the line change character.
dataArray = countriesString.componentsSeparatedByString("\n")
}
}
}
目前,我只知道如何读取每一行,但是我想要做的是,当我读取每一行时,将第一个字符串作为值添加到字典中,以及出现的第二个字符串以(---)为关键。有没有人有任何建议?
答案 0 :(得分:3)
可以尝试这样的事情,但是没有测试过代码,所以可能需要一些调整
var dictionary = [String: String]()
for line in dataArray {
var components = line.components(separatedBy: " --- ")
dictionary[components[0]] = components[1]
}
答案 1 :(得分:0)
我必须将接受的答案的第3行更改为
var components = line.components(separatedBy: " --- ")