子串使用范围

时间:2018-11-03 09:35:25

标签: swift range substring

// Substring
func substring(_ start: Int, end: Int) -> String {
    return self.substring(with: Range(self.characters.index(self.startIndex, offsetBy: start) ..< self.characters.index(self.startIndex, offsetBy: end)))
}

将Xcode更新为10.0后,在该return语句中获得以下错误。让我知道如何根据最新的swift版本显示return语句。

  

无法使用参数列表为'Range <_>'的类型调用初始化程序   键入“(范围)”

1 个答案:

答案 0 :(得分:0)

使用Xcode 10,您可以在Swift 3,Swift 4和Swift 4.2版本之间进行选择。 我假设您在谈论最新的Swift版本时是指Swift 4.2。请记住,substring(with:)函数自Swift 4起就已弃用,因此您可以使用字符串切片:

extension String {
    func substring(_ start: Int, end: Int) -> String {
        let startIndex = self.index(self.startIndex, offsetBy: start)
        let endIndex = self.index(self.startIndex, offsetBy: end)
        return String(self[startIndex...endIndex])
    }
}