Menu
Coddy logo textTech

Итерирование по строкам, ч. 1

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

Как и массивы, строки в Swift представляют собой последовательности символов, по которым можно выполнять итерацию. Это позволяет легко обрабатывать текст по одному символу за раз, используя знакомый цикл for-in.

Когда вы перебираете строку в цикле, Swift выдает вам каждый символ по порядку:

let word = "Hello"

for char in word {
    print(char)
}
// H
// e
// l
// l
// o

Каждый char в цикле имеет тип Character, а не String. Это различие важно, когда вам нужно сравнивать или манипулировать отдельными символами.

Вы можете использовать этот метод для анализа текста, например, для подсчета определенных символов:

let message = "banana"
var countA = 0

for char in message {
    if char == "a" {
        countA += 1
    }
}

print(countA)  // 3

Обратите внимание, что при сравнении символа мы используем один символ в кавычках, например "a". Swift автоматически рассматривает это как Character при сравнении с другим символом.

challenge icon

Задание

Легко

Напишите функцию countVowels, которая принимает text и возвращает общее количество гласных в строке.

Переберите каждый символ в строке и посчитайте, сколько из них являются гласными (a, e, i, o, u). Учитывайте как строчные, так и заглавные гласные.

Параметры:

  • text (String): Строка для анализа

Возвращает: Общее количество гласных, найденных в строке (Int)

Пример: Если text имеет значение "Hello World", функция должна вернуть 3 (гласные: e, o, o).

Шпаргалка

Вы можете перебирать строку с помощью цикла for-in для обработки каждого символа:

let word = "Hello"

for char in word {
    print(char)
}
// H
// e
// l
// l
// o

Каждый char в цикле имеет тип Character, а не String.

Вы можете сравнивать символы напрямую в условиях:

let message = "banana"
var countA = 0

for char in message {
    if char == "a" {
        countA += 1
    }
}

print(countA)  // 3

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

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

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

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