如何獲取冒號後的值?在Swift中分隔字符串
例字符串: 「AAA:測試,BBB:測試,CCC:測試」
我不得不承認AAA:,BBB:,CCC:冒號之後獲得的價值。
還有一個特殊情況: 「AAA:AAA:,BBB:BBB,CCC:測試」
值可能會或可能不會有完全相同的字作爲變量。此外,該值可能包含逗號。
如何獲取冒號後的值?在Swift中分隔字符串
例字符串: 「AAA:測試,BBB:測試,CCC:測試」
我不得不承認AAA:,BBB:,CCC:冒號之後獲得的價值。
還有一個特殊情況: 「AAA:AAA:,BBB:BBB,CCC:測試」
值可能會或可能不會有完全相同的字作爲變量。此外,該值可能包含逗號。
使用String的componentsnetSeparatedBy方法。我假設所有的鍵 - 值將由被分離「」
let wordsArr = "aaa:test: , bbb:test,a , ccc:test".components(separatedBy: " , ") as [String]
這會給你與字陣列{[AAA:測試:],[BBB:試驗,],[CCC:測試]}
var aaa, bbb, ccc : String?
for (_,keyValueWords) in wordsArr.enumerated() {
var strKeyValuePair = keyValueWords
if strKeyValuePair.hasPrefix("aaa:") {
aaa = String(strKeyValuePair.characters.dropFirst(4))
}
else if strKeyValuePair.hasPrefix("bbb:"){
bbb = String(strKeyValuePair.characters.dropFirst(4))
}else if strKeyValuePair.hasPrefix("ccc:"){
ccc = String(strKeyValuePair.characters.dropFirst(4))
}
}
print("aaa=\(aaa!) , bbb=\(bbb!) , ccc=\(ccc!)")
該解決方案不能處理我上面提到的特殊情況 – henry