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
// oJedes 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) // 3Beachten 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.
Aufgabe
EinfachSchreiben 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
// oJedes 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) // 3Probier es selbst
func countVowels(text: String) -> Int {
// Code hier schreiben
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorZusammengesetzte ZuweisungWiederholung - Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgument-LabelsWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte13Iterieren über Sequenzen
Iterieren über ElementeDie enumerate-MethodeIterieren über Strings Teil 1Iterieren über Strings Teil 22Variablen
Let vs. VarTyp-AnnotationenZahlenStringsBooleansBenennungskonventionenZusammenfassung – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungs-Splitter
WillkommensnachrichtEingabe abfragen14Arrays für Fortgeschrittene
Array Slicing Teil 1Array Slicing Teil 2Sequenz-OperatorenDie Contains-Methode3Optionals
Was sind OptionalsUnwrapping mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Unwrapping6Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Wertebereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueWiederholung – FakultätBereiche in SchleifenVerschachtelte SchleifeWiederholung – Dynamische Eingabe