我正在尝试解析一系列项目,每个项目的结构如下:
[0x6100000b2480 - Message: Phlare, ID: 92329382, Sender: 2077303954, Timestamp: 1505263276721]
但我只想在“Sender:”之后获取值,所以在这种情况下“2077303954”。但我将迭代这些列表,解析每个数组索引的值。
答案 0 :(得分:1)
假设“,
”仅出现在值之间,请使用split
将它们分成几部分:
let arr = str.characters.split(separator: ",").map(String.init)
println(arr) // [0x6100000b2480 - Message: Phlare, ID: 92329382, Sender: 2077303954]
然后,您可以在“:
”上再次分割结果数组中的字符串,以获得交替键值的数组。
或许输入已经是一个数组?
以下是一个例子:
var resultingDictionary = [String:String]()
var stringArray = ["0x6100000b2480 - Message: Phlare", "ID: 92329382", "Sender: 2077303954", "Timestamp: 1505263276721:"]
for eachString in stringArray
{
let arr = eachString.characters.split(separator: ":").map(String.init)
resultingDictionary[arr[0]] = arr[1]
}
print("resulting dictionary is \(resultingDictionary)")
同样的概念应该适用于NSString的componentsSeparatedByString
(now known as components(separatedBy: ",")
。