Über Strings iterieren Teil 2
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy. Lektion 72 von 86.
Genauso wie wir enumerated() bei Arrays verwendet haben, um sowohl den Index als auch das Element zu erhalten, können wir dasselbe mit Strings tun. Dies ist nützlich, wenn Sie die Position jedes Zeichens während der Iteration kennen müssen.
let word = "Swift"
for (index, char) in word.enumerated() {
print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: tDiese Technik ist hilfreich, wenn neue Strings basierend auf Zeichenpositionen erstellt werden. Zum Beispiel möchten Sie vielleicht nur Zeichen an geraden Indizes behalten:
let text = "abcdef"
var result = ""
for (index, char) in text.enumerated() {
if index % 2 == 0 {
result += String(char)
}
}
print(result) // aceBeachten Sie, dass wir char mit String(char) in einen String umwandeln, bevor wir ihn anhängen. Dies ist notwendig, da result ein String ist und Sie einen Character nicht direkt mit dem +=-Operator daran anhängen können.
Aufgabe
EinfachSchreiben Sie eine Funktion extractOddIndexChars, die text entgegennimmt und einen neuen String zurückgibt, der nur die Zeichen an ungeraden Indizes enthält.
Verwenden Sie enumerated(), um durch den String zu iterieren und ein Ergebnis zu erstellen, das Zeichen enthält, deren Index ungerade ist (1, 3, 5, etc.).
Parameter:
text(String): Der zu verarbeitende Eingabestring
Rückgabewert: Ein String, der nur die Zeichen an ungeraden Indizes enthält (String)
Beispiel: Wenn text gleich "abcdefg" ist, sollte die Funktion "bdf" zurückgeben (Zeichen an den Indizes 1, 3 und 5).
Probier es selbst
func extractOddIndexChars(text: String) -> String {
// 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 ZuweisungRückblick – Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypkonvertierungWiederholung – Bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgumentbezeichnungenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte13Über Sequenzen iterieren
Über Elemente iterierenDie Enumerate-MethodeÜber Strings iterieren Teil 1Über Strings iterieren Teil 22Variablen
let vs. varTypannotationenZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechner zum Teilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion14Arrays – Fortgeschritten
Array-Slicing Teil 1Array-Slicing Teil 2SequenzoperatorenDie Contains-Methode3Optionals
Was sind Optionals?Entpacken mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Entpacken6Entscheidungen treffen
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Bereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueZusammenfassung – FakultätBereiche in SchleifenVerschachtelte SchleifeZusammenfassung – Dynamische EingabeÜbe selbstständig: Swift-Playground