Я обновлял часть своего старого кода и отвечал на Swift 3, но когда я добрался до Swift Strings и Indexing с подстроками, все стало запутанным.
В частности, я пытался сделать следующее:
let str = "Hello, playground"
let prefixRange = str.startIndex..<str.startIndex.advancedBy(5)
let prefix = str.substringWithRange(prefixRange)
где вторая строка давала мне следующую ошибку
Значение типа 'String' не имеет подстроки'WithRange '
Я вижу, что String
теперь имеет следующие методы:
str.substring(to: String.Index)
str.substring(from: String.Index)
str.substring(with: Range<String.Index>)
Сначала это меня сбивало с толку, поэтому я начал играть с индексом и диапазоном. Это вопрос и ответ для подстроки. Я добавляю ответ ниже, чтобы показать, как они используются.