Swift 可选字符串分割成数组问题

Swift optional string splitting into array problem

我有一个函数需要 second 从我的控制器和 introInterval 从网络服务。但是我的代码不会拆分来自 API 的字符串。但是,如果我放置虚拟数据,它就可以工作。我不知道为什么。问题出在哪里 ?它们都使用相同的字符串。我的目标是用测试变量赶上相同的数据。您可以在打印行中看到它们的输出。

func getCurrentPlayerTimeAndIntroDuration(second: String, introInterval: String?) {
    if let introInterval = introInterval {

        print(introInterval) //output: "01:38 - 5:00"

        let test = "01:38 - 5:00".trimmingCharacters(in: .whitespacesAndNewlines).components(separatedBy: "-")
        let introIntervalArray = introInterval.trimmingCharacters(in: .whitespacesAndNewlines).components(separatedBy: "-")
        
        print("test \(test)") //output: ["01:38", "5:00"] correct
        print("introIntervalArray \(introIntervalArray)") //output introIntervalArray ["01:38–02:13"] wrong

    }
}

我认为您使用了错误的字符来分隔字符串。如果比较示例 //output introIntervalArray ["01:38–02:13"] wrong 中的 - (Non-ASCII) 字符,您会看到 不同于您用来拆分字符串的字符 - (ASCII).

此代码:

let test = "01:38–02:13".trimmingCharacters(in: .whitespacesAndNewlines).components(separatedBy: "–")

输出:

["01:38", "02:13"]