string.find()
Fait partie de la section Fundamentals du Journey Lua de Coddy — leçon 48 sur 90.
La fonction string.find() est un outil puissant pour effectuer des recherches au sein de chaînes de caractères. Elle vous permet de rechercher une chaîne plus petite (appelée un motif) à l'intérieur d'une chaîne plus grande et vous indique exactement où elle a été trouvée.
Voici la syntaxe de base :
string.find(text, pattern)Lorsque string.find() localise avec succès le motif, il renvoie deux nombres : la position de début et la position de fin de la correspondance. Si le motif n'est pas trouvé, il renvoie nil.
Voici un exemple simple :
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- affiche : 5 12Dans cet exemple, le mot « treasure » commence à la position 5 et se termine à la position 12 dans la phrase.
Défi
FacileCréez un détecteur de message secret qui recherche un mot de code caché dans un message textuel plus large. Déclarez une variable nommée message et attribuez-lui la valeur "The ancient treasure lies beneath the old oak tree". Utilisez la fonction string.find() pour rechercher le mot "treasure" dans le message et stockez les positions de début et de fin dans des variables nommées startPos et endPos. Affichez les deux valeurs de position sur des lignes distinctes.
Aide-mémoire
La fonction string.find() recherche un motif dans une chaîne de caractères et renvoie les positions de début et de fin de la correspondance, ou nil si elle n'est pas trouvée.
Syntaxe de base :
string.find(text, pattern)Exemple :
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- affiche : 5 12Essayez vous-même
-- Déclarer la variable message
local message = "The ancient treasure lies beneath the old oak tree"
-- TODO : Écrivez votre code ici pour trouver le mot "treasure" et stocker les positions
-- Afficher les positions
print(startPos)
print(endPos)Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
4Opérateurs 2 : Relationnels et Logique
Opérateurs d'égalitéOpérateurs relationnelsL'opérateur 'and'L'opérateur 'or'L'opérateur 'not'Évaluation court-circuitValeurs Truthy et FalsyRécapitulatif - Logique simple7Logique conditionnelle de base
L'instruction if-thenL'instruction if-then-elseL'instruction elseifRécapitulatif - Le coffre au trésor10Tables Partie 1 : Style Liste
Qu'est-ce qu'une Table ?Créer une TableAccéder aux éléments par indexModifier des éléments par indexL'opérateur de longueur '#'table.insert()table.remove()Récapitulatif - Gérer les membres du groupe13Projet : Boutique de potions simple
Configuration du projetAjouter une potion2Variables et types de données
Qu'est-ce qu'une variable ?Les nombresLes chaînes de caractèresLes booléensLa valeur 'nil'La fonction type()Conventions de nommageRécapitulatif - Profil de personnage5Affichage de base
Afficher des littérauxAfficher des variablesAfficher plusieurs valeursCombiner des chaînes et des variablesLa fonction tostring()EntréeLe CastRécapitulatif - Rapport d'étatRécapitulatif - Jusqu'à 1208Bases de la manipulation de chaînes
string.len()string.upper et string.lowerstring.sub()string.rep()string.find()Récapitulatif - Formater le nom d'utilisateur3Opérateurs 1 Arithmétique & Conc.
Opérateurs arithmétiquesOpérateur moduloOpérateur d'exponentiationConcaténation de chaînesPriorité des opérateursRécapitulatif - Calculs simples6Projet : Affichage des stats du personnage
Message de bienvenueDéclarer les statistiques du personnage9Bases des fonctions
Déclarer une fonctionAppeler une fonctionFonctions avec paramètresFonctions avec plusieurs paramètresL'instruction 'return'Récapitulatif - Calculateur d'aire