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")) // vraicontains 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")
}Défi
FacileLisez 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
@(utilisezfilter+countsur les caractères) - Elle ne commence ni ne se termine par
@ - Elle se termine par
.tech,.comou.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]
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
1Les chaînes de caractères en profondeur
Comptage et indicesCasse et nettoyageRecherche dans les chaînesDécoupage et jointureRemplacement de sous-chaînesRécapitulatif - Vérification du nom d'utilisateur4Ensembles
Création d'ensemblesUnion et intersectionSoustraction et différence symétriqueSous-ensemble et sur-ensembleRécapitulatif - Filtre de tags7Projet - Suivi d'habitudes
Aperçu du projetMarquer comme terminé10Projet - Moteur de quiz
Présentation du projetPoser des questions2Intervalles et Pas
Fermé vs Semi-ouvertLe PasMéthodes d'intervalleIntervalles dans un SwitchRécapitulatif - Grille de calendrier5Fonctions d'ordre supérieur, Partie 1
MapFilterReduceChaînage de map, filter, reduceRécapitulatif - Statistiques de motsEntraînez-vous par vous-même : Playground Swift