Menu
CoddyTech

Перебор строк P2

Часть раздела Основы путешествия по Swift на Coddy. Урок 72 из 86.

Как и в случае с массивами, когда мы использовали enumerated(), чтобы получить и индекс, и элемент, мы можем сделать то же самое со строками. Это полезно, когда нужно знать положение каждого символа при переборе.

let word = "Swift"

for (index, char) in word.enumerated() {
    print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: t

Этот приём полезен при создании новых строк на основе позиций символов. Например, вы можете захотеть оставить только символы с чётными индексами:

let text = "abcdef"
var result = ""

for (index, char) in text.enumerated() {
    if index % 2 == 0 {
        result += String(char)
    }
}

print(result)  // ace

Обрати внимание, что перед добавлением мы преобразуем char в String с помощью String(char). Это необходимо, потому что result — это String, и нельзя напрямую добавить к нему Character с помощью оператора +=.

challenge icon

Задание

Легко
Напиши функцию extractOddIndexChars, которая принимает text и возвращает новую строку, содержащую только символы с нечётными индексами.

Используй enumerated(), чтобы перебрать строку и создать результат, содержащий символы с нечётными индексами (1, 3, 5 и т. д.).

Параметры:

  • text (String): входная строка для обработки

Возвращает: строку, содержащую только символы с нечётными индексами (String)

Пример: если text — это "abcdefg", функция должна вернуть "bdf" (символы с индексами 1, 3 и 5).

Попробуйте сами

func extractOddIndexChars(text: String) -> String {
    // Напишите код здесь
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Swift