arrays - 在 Swift 3 中将字符串转换为数组

标签 arrays swift string

我正在尝试将以下格式的字符串转换为 Swift 3 中的数组(...数组, float !):

"[173.0, 180.5],[173.0, 180.0],[174.0, 180.5],[174.0, 183.0]"

因此输出将是这种格式的数组:

[[173.0, 180.5, 173.0, 180.0],[174.0, 180.5, 174.0, 183.0]]

我真的是 Swift 的新手,正在努力寻找任何允许我以这种方式转换数据的字符串函数。任何关于我如何做的指示都会很棒 - 谢谢!

最佳答案

正如 Martin 所说,您首先要将其从字符串转换为数组。在 Swift 3 中:

let string = "[173.0, 180.5],[173.0, 180.0],[174.0, 180.5],[174.0, 183.0]"
let jsonString = "[" + string + "]"

guard let data = jsonString.data(using: .utf8),
    let json = try? JSONSerialization.jsonObject(with: data),
    let numberPairs = json as? [[Double]] else {
        fatalError("string was not well-formed: \(string)")
}

然后您想要将这些数字对组合在一起:

var combinedNumbers = [[Double]]()
var current: [Double]?
for numberPair in numberPairs {
    if current != nil {
        combinedNumbers.append(current! + numberPair)
        current = nil
    } else {
        current = numberPair
    }
}

// use `combinedNumbers` here

显然,您应该使用更好的变量名(也许可以暗示这些数字集是什么),但希望这能说明这个想法。

关于arrays - 在 Swift 3 中将字符串转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41149375/

相关文章:

javascript - 使用 Node JS 将多个数组转换为对象到一个数组

arrays - 将 Int 数组转换为逗号分隔的字符串

ios - SWIFT 中的 KVO 测试

javascript - jsonObject 是一个字符串 - 如何转换为 json?

c++ - 将大字符串从 BSTR 转换为 std::string?

C++ : Arrays and memory locations

python - 如何从 Python 中的两个 n 维数组中获取匹配的行?

php - 为什么我的代码使 PDO 返回嵌套数组?

ios - UISplitViewController 中未调用委托(delegate)方法

C# - 使用包含字符串数组的字符串