Rechercher dans les chaînes
Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 2 sur 78.
L’opérateur in indique si un texte apparaît dans une chaîne. Lorsque tu as besoin de plus qu’une réponse par oui ou non, les chaînes disposent de méthodes de recherche :
contains(text)renvoietruesi le texte apparaît n’importe où, commeinbegins_with(text)etends_with(text)vérifient uniquement le début ou la finfind(text)renvoie l’index où le texte apparaît pour la première fois, ou-1s’il n’apparaît pasrfind(text)renvoie l’index de la dernière occurrencecount(text)renvoie le nombre de fois où le texte apparaît
var email := "alice@coddy.tech"
print(email.begins_with("alice"))
print(email.ends_with(".tech"))
print(email.find("@"))
print(email.find("x"))
print(email.count("c"))true
true
5
-1
3find() prend un deuxième argument facultatif : l’index où la recherche commence. Utilise-le pour trouver l’occurrence suivante après en avoir déjà trouvé une :
var text := "one fish, two fish"
var first := text.find("fish")
print(first)
print(text.find("fish", first + 1))4
14Ces méthodes sont sensibles à la casse : "Hello".contains("hello") est false. Convertis d’abord la chaîne avec to_lower(), ou utilise les versions qui ignorent la casse : findn(), containsn() et countn().
Défi
FacileLe programme lit une adresse e-mail dans email. Vérifie qu’elle respecte toutes les règles suivantes :
- Elle contient exactement un
@ - Elle ne commence pas par
@ - Elle ne contient aucun espace
- Elle se termine par
.com,.orgou.tech, en mélangeant majuscules et minuscules
Affiche valid si toutes les règles sont respectées, sinon invalid. Pour l’entrée alice@CODDY.TECH, la sortie est :
validEssayez vous-même
extends Node
func _ready():
var email := OS.read_string_from_stdin()
# Affiche valid ou invalid
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 d’exécution
1Les chaînes de caractères en profondeur
Méthodes des chaînesRechercher dans les chaînesRemplacer et supprimer les espacesDécouper et joindreRécapitulatif - Vérifier un nom d’utilisateur4Dictionnaires, partie 2
Dictionnaires imbriquésTableaux de dictionnairesFusionner des dictionnairesCopier des dictionnairesRécapitulatif - Compteur de fréquence7Énumérations
Qu’est-ce qu’une énumération ?Définir une énumérationValeurs d’une énumérationÉnumérations avec matchRécapitulatif - Feu de circulation10Fonctions avancées
Renvoyer plusieurs valeursFonctions lambda, partie 1Fonctions lambda, partie 2Récapitulatif - Tri avec lambdaFonctions récursives, partie 1Fonctions récursives, partie 2Récapitulatif - Somme d’un tableau imbriqué13Système de gestion des stocks
Présentation du projetAjouter un article2Prise de décision avancée
Correspondance avec des variablesGardes de correspondanceMotifs de tableauMotifs de dictionnaireVérifications d’appartenanceRécapitulatif – Analyseur de commandes5Application de carnet d’adresses
Afficher le menuAjouter un contact8Gestionnaire des dossiers étudiants
Aperçu du projetAjouter un étudiant3Tableaux multidimensionnels
Bases des tableaux 2DAccéder aux éléments d’un tableau 2DBoucles imbriquées avec des tableaux 2DRécapitulatif - Tableaux 2DTableaux irréguliersMotifs courants des tableaux 2DRécapitulatif - Plateau de jeu6Les ensembles avec les dictionnaires
Qu’est-ce qu’un ensemble ?Un dictionnaire comme ensembleAjouter et supprimerUnion et intersectionDifférence d’ensemblesRécapitulatif – Supprimer les doublons9Agrégation avancée de données
Additionner des valeursTrouver le minimum et le maximumTri personnaliséRécapitulatif - Trieur de dictionnairesEntraînez-vous par vous-même : Compilateur GDScript en ligne