Menu
Coddy logo textTech

Die Contains-Methode

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

Beim Arbeiten mit Arrays müssen Sie oft prüfen, ob ein bestimmter Wert existiert, bevor Sie eine Aktion ausführen. Swift bietet die contains()-Methode genau für diesen Zweck an – sie gibt true zurück, wenn das Element gefunden wird, und andernfalls false.

let fruits = ["apple", "banana", "orange"]

if fruits.contains("banana") {
    print("We have bananas!")
}
// Wir haben Bananen!

Dies ist viel sauberer, als manuell eine Schleife zu schreiben, um das Array zu durchsuchen. Die Methode funktioniert mit jedem Array-Typ, unabhängig davon, ob er Strings, Zahlen oder andere Werte enthält:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // true
print(numbers.contains(99))  // false

Ein häufiger Anwendungsfall ist die Validierung von Benutzereingaben gegen eine Liste erlaubter Werte:

let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"

if validOptions.contains(userInput) {
    print("Valid choice")
} else {
    print("Invalid choice")
}
// Gültige Auswahl

Die contains()-Methode funktioniert auch mit Strings, um zu prüfen, ob ein Substring innerhalb eines größeren Strings existiert:

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true
challenge icon

Aufgabe

Einfach

Sie erhalten zwei Zeilen als Eingabe:

  1. Eine durch Kommas getrennte Liste der erlaubten Benutzernamen (z. B. admin,user,guest,moderator)
  2. Ein zu überprüfender Benutzername

Überprüfen Sie, ob der Benutzername in der Liste der erlaubten Namen enthalten ist. Wenn ja, geben Sie Access granted aus. Wenn nicht, geben Sie Access denied aus.

Schritte:

  1. Lesen Sie die durch Kommas getrennte Liste ein und teilen Sie diese in ein Array von Strings auf
  2. Lesen Sie den zu überprüfenden Benutzernamen ein
  3. Verwenden Sie die Methode contains(), um festzustellen, ob der Benutzername in der Liste der erlaubten Namen enthalten ist
  4. Geben Sie basierend auf dem Ergebnis die entsprechende Nachricht aus

Hinweis: Verwenden Sie components(separatedBy:), um einen String in ein Array aufzuteilen. Zum Beispiel:

let text = "a,b,c"
let parts = text.components(separatedBy: ",")

Spickzettel

Die Methode contains() prüft, ob ein bestimmter Wert in einem Array existiert, und gibt true zurück, wenn er gefunden wurde, andernfalls false:

let fruits = ["apple", "banana", "orange"]

if fruits.contains("banana") {
    print("We have bananas!")
}
// Wir haben Bananen!

Sie funktioniert mit jedem Array-Typ:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // true
print(numbers.contains(99))  // false

Ein häufiger Anwendungsfall für die Validierung von Eingaben:

let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"

if validOptions.contains(userInput) {
    print("Valid choice")
} else {
    print("Invalid choice")
}
// Gültige Auswahl

Die Methode contains() funktioniert auch mit Strings, um nach Teilstrings zu suchen:

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true

Um einen String in ein Array aufzuteilen, verwenden Sie components(separatedBy:):

let text = "a,b,c"
let parts = text.components(separatedBy: ",")

Probier es selbst

// Lies die kommagetrennte Liste der erlaubten Benutzernamen
let allowedList = readLine()!

// Lies den zu prüfenden Benutzernamen
let username = readLine()!

// TODO: Schreibe deinen Code unten
// 1. Teile die allowedList mit components(separatedBy:) in ein Array auf
// 2. Verwende contains(), um zu prüfen, ob username im Array enthalten ist
// 3. Gib "Access granted" oder "Access denied" basierend auf dem Ergebnis aus
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