Menu
Coddy logo textTech

Suchen in Strings

Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy — Lektion 3 von 56.

Drei schnelle Prüfungen, ob ein Teilstring in einem anderen enthalten ist:

let email = "alice@coddy.tech"
print(email.contains("@"))         // true
print(email.hasPrefix("alice"))    // true
print(email.hasSuffix(".tech"))    // true

contains nimmt beliebige Teilzeichenfolgen an, während hasPrefix und hasSuffix nur den Anfang oder das Ende prüfen. Sie alle unterscheiden zwischen Groß- und Kleinschreibung, wandeln Sie den String also zuerst in Kleinbuchstaben um, falls das relevant ist.

Kombiniere diese mit ! für eine schnelle Prüfung auf „Fehlen“:

if !email.contains("@") {
    print("not a valid email")
}
challenge icon

Aufgabe

Einfach

Lies eine einzelne Eingabezeile ein. Validiere sie als eine einfache E-Mail, indem du alle folgenden Punkte überprüfst:

  • Sie enthält genau ein @ (verwende filter + count auf den Zeichen)
  • Sie beginnt oder endet nicht mit @
  • Sie endet auf .tech, .com oder .org (unabhängig von Groß-/Kleinschreibung)

Gib valid aus, wenn jeder Check bestanden wird, andernfalls invalid. Vergleiche mit der kleingeschriebenen Version der Eingabe.

Für die Eingabe alice@CODDY.TECH lautet die Ausgabe valid.

Spickzettel

Prüfen Sie, ob ein String einen Teilstring enthält oder mit einem beginnt/endet:

let email = "alice@coddy.tech"
email.contains("@")        // true – irgendwo im String
email.hasPrefix("alice")   // true – am Anfang
email.hasSuffix(".tech")   // true – am Ende

Alle drei sind case-sensitive (unterscheiden Groß- und Kleinschreibung). Verwenden Sie bei Bedarf zuerst .lowercased():

email.lowercased().hasSuffix(".tech")

Verwenden Sie !, um auf Abwesenheit zu prüfen:

if !email.contains("@") { print("not a valid email") }

Probier es selbst

let line = readLine()!

// TODO: validiere genau ein '@', nicht an den Rändern, Suffix in [.tech .com .org]
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 Logik & Kontrollfluss