Menu
Coddy logo textTech

Iterowanie po łańcuchach znaków, cz. 1

Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 71 z 86.

Podobnie jak tablice, ciągi znaków w Swift są sekwencjami znaków, po których możesz iterować. Dzięki temu możesz łatwo przetwarzać tekst znak po znaku za pomocą dobrze znanej pętli for-in.

Gdy iterujesz po ciągu znaków, Swift podaje Ci kolejno każdy znak:

let word = "Hello"

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

Każdy char w pętli jest typu Character, a nie String. To rozróżnienie ma znaczenie, gdy musisz porównywać lub modyfikować pojedyncze znaki.

Możesz użyć tej techniki do analizowania tekstu, na przykład do liczenia określonych znaków:

let message = "banana"
var countA = 0

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

print(countA)  // 3

Zauważ, że porównując znak, używamy pojedynczego znaku w cudzysłowie, na przykład "a". Swift automatycznie traktuje go jako Character podczas porównywania z innym znakiem.

challenge icon

Wyzwanie

Łatwy
Utwórz funkcję countVowels, która przyjmuje text i zwraca łączną liczbę samogłosek w ciągu znaków.

Przejdź przez każdy znak w ciągu znaków i policz, ile z nich to samogłoski (a, e, i, o, u). Uwzględnij samogłoski zapisane zarówno małymi, jak i wielkimi literami.

Parametry:

  • text (String): Ciąg znaków do analizy

Zwraca: Łączną liczbę samogłosek znalezionych w ciągu znaków (Int)

Przykład: Jeśli text ma wartość "Hello World", funkcja powinna zwrócić 3 (samogłoski to e, o, o).

Spróbuj swoich sił

func countVowels(text: String) -> Int {
    // Wpisz kod tutaj
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Swift