Menu
Coddy logo textTech

Iterieren über Strings Teil 1

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 71 von 86.

Genau wie Arrays sind Strings in Swift Sequenzen von Zeichen, über die man iterieren kann. Dies macht es einfach, Text Zeichen für Zeichen mit der vertrauten for-in-Schleife zu verarbeiten.

Wenn Sie eine Schleife über einen String ausführen, gibt Swift Ihnen jedes Zeichen in der richtigen Reihenfolge:

let word = "Hello"

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

Jedes char in der Schleife ist vom Typ Character, nicht String. Diese Unterscheidung ist wichtig, wenn Sie einzelne Zeichen vergleichen oder manipulieren müssen.

Du kannst diese Technik verwenden, um Text zu analysieren, wie zum Beispiel das Zählen bestimmter Zeichen:

let message = "banana"
var countA = 0

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

print(countA)  // 3

Beachten Sie, dass wir beim Vergleichen eines Zeichens ein einzelnes Zeichen in Anführungszeichen wie "a" verwenden. Swift behandelt dies automatisch als Character, wenn es mit einem anderen Zeichen verglichen wird.

challenge icon

Aufgabe

Einfach

Schreiben Sie eine Funktion countVowels, die text entgegennimmt und die Gesamtzahl der Vokale in der Zeichenfolge zurückgibt.

Iterieren Sie durch jedes Zeichen in der Zeichenfolge und zählen Sie, wie viele davon Vokale (a, e, i, o, u) sind. Zählen Sie sowohl kleingeschriebene als auch großgeschriebene Vokale.

Parameter:

  • text (String): Die zu analysierende Zeichenfolge

Rückgabewert: Die Gesamtzahl der in der Zeichenfolge gefundenen Vokale (Int)

Beispiel: Wenn text den Wert "Hello World" hat, sollte die Funktion 3 zurückgeben (die Vokale sind e, o, o).

Spickzettel

Sie können eine Zeichenkette mit einer for-in-Schleife durchlaufen, um jedes Zeichen zu verarbeiten:

let word = "Hello"

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

Jedes char in der Schleife ist vom Typ Character, nicht String.

Sie können Zeichen direkt in Bedingungen vergleichen:

let message = "banana"
var countA = 0

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

print(countA)  // 3

Probier es selbst

func countVowels(text: String) -> Int {
    // Code hier schreiben
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen