如何获取冒号后的值?在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