我使用的是一个使用substring(to:)的框架,现在在swift 4中已经被弃用了。

let split = stripped.substring(to: stripped.range(of: ";")?.lowerBound ?? stripped.endIndex)

我将其更新为下面的代码,但现在我得到一个“generic parameter could not be inferred”错误,并且“..”带下划线。
let split = stripped[..<stripped.range(of: ";")?.lowerBound ?? stripped.endIndex]

不知道我该怎么解决这个问题。

最佳答案

让我们把这段代码说清楚一点:

let range = stripped.range(of: ";")?.lowerBound ?? stripped.endIndex
let split = String(stripped[..<range])

但似乎你想在某个字符之前得到子字符串。我还有别的办法:
let split: String = stripped.components(separatedBy: ";").first!

10-08 12:14