Индексация строк в Swift: String.Index
В Swift мы не можем индексировать String по Int. Т.к. один символ строки в нашем представлении может состоять из нескольких Unicode символов. Для русского языка хороший пример — буква «Й». Она состоит из двух Unicode символов — «И» и птички.
Поэтому для индексации строки используется String.Index для определения символа в строке который нам нужен. Рассмотрим пример:
// // proSwift.ru // var str = "message" let index = advance(str.startIndex, 2) //получили index 3-го символа "s" str.splice("qwe", index) // str = "meqwessage" let startIndex = advance (s.startIndex,1) let endIndex = advance (s.startIndex,8) let substring = s[index..<endIndex] // substring = "eqwessa"
Вся суть во второй строке. Мы взяли индекс первого символа в строке и заставили сдвинутся 2 раза с помощью функции advance. И попали на третий символ. Все остальное — пример использования Srting.Index для получения подстроки по индексам.
Добавить комментарий