从数组中解析文本的最快方法

时间:2017-09-13 00:43:45

标签: arrays swift parsing

我正在尝试解析一系列项目,每个项目的结构如下:

[0x6100000b2480 - Message: Phlare, ID: 92329382, Sender: 2077303954, Timestamp: 1505263276721]

但我只想在“Sender:”之后获取值,所以在这种情况下“2077303954”。但我将迭代这些列表,解析每个数组索引的值。

1 个答案:

答案 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: ",")