Swift 4使用切片下标分割字符串

时间:2022-06-01 14:04:00

Swift 3

在Swift 3,使用substring()函数分割字符串

let str = "1234,5678" 
let index = str.index(of: ",")!
let newStr = str.substring(from: index)
let newStr1 = str.substring(to: index)

Swift 4

在Swift 4,substring()函数被废弃,改为使用切片下标。

str.substring(from: index) 转换为下标:

let substr= str[index...]

str.substring(to: index)  转换为下标:

 let substr= str[..<index]

另外,也可以使用prefix(upTo end:Int)函数

let substr = str.prefix(upTo: index)

...,以及..<称为范围操作符。范围操作符返回的是Substring类型。

转换为String类型:

let str = String(substr)

错误信息

在Swift 4使用Swift 3代码会报类似下面的错误:

'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator.