如何解决Swift可选字符串拆分成数组问题
我有一个功能,它可以从我的控制器中获取第二个信息,并从网络服务中获取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
(非ASCII)字符,您会发现–
与用于拆分字符串-
的字符不同( ASCII)。
此代码:
let test = "01:38–02:13".trimmingCharacters(in: .whitespacesAndNewlines).components(separatedBy: "–")
输出:
["01:38","02:13"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。