尝试在Swift 5.0中将字符串强制转换为[(Double,Double)]
let test: String = "[(0.0,1.0),(0.0,2.0)]"
let out: [(Double, Double)] = test as! [(Double, Double)]
答案 0 :(得分:1)
快速而又肮脏的解决方案(现在是凌晨3:30:-))
let test: String = "[(0.0,1.0),(0.0,2.0)]"
let filtered = test.components(separatedBy: CharacterSet(charactersIn: "[](),")).filter{$0 != ""}
var output = [(Double, Double)]()
var i = 0
while i < filtered.count - 1 {
if let a = Double(filtered[i]), let b = Double(filtered[i+1]){
output.append((a,b))
}
i += 2
}