Menu
Coddy logo textTech

Recherche dans les chaînes

Fait partie de la section Logique et Flux du Journey Swift de Coddy. Leçon 3 sur 56.

Trois vérifications rapides pour savoir si une sous-chaîne se trouve à l'intérieur d'une autre :

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

contains prend n'importe quelle sous-chaîne, tandis que hasPrefix et hasSuffix ne regardent que le début ou la fin. Ils sont tous sensibles à la casse, donc mettez la chaîne en minuscules d'abord si cela a de l'importance.

Combinez-les avec ! pour un test rapide d'absence :

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

Défi

Facile

Lisez une seule ligne de l’entrée. Validez-la comme un e-mail simple en vérifiant toutes les conditions suivantes :

  • Elle contient exactement un @ (utilisez filter + count sur les caractères)
  • Elle ne commence ni ne se termine par @
  • Elle se termine par .tech, .com ou .org (sans tenir compte de la casse)

Affichez valid lorsque toutes les vérifications réussissent, sinon invalid. Effectuez la comparaison avec la version de l’entrée convertie en minuscules.

Pour l’entrée alice@CODDY.TECH, la sortie est valid.

Essayez vous-même

let line = readLine()!

// TODO: valider exactement un '@', pas aux extrémités, suffixe parmi [.tech .com .org]
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et Flux

Entraînez-vous par vous-même : Playground Swift