string.gsub() pour la substitution
Fait partie de la section Logique et flux du Journey Lua de Coddy. Leçon 35 sur 54.
Lorsque vous travaillez avec des chaînes, vous devez souvent rechercher et remplacer du texte. La fonction string.gsub() de Lua facilite cette tâche en effectuant une substitution globale : elle trouve toutes les occurrences d’un motif et les remplace par autre chose.
La syntaxe de base prend trois arguments : la chaîne d’origine, le motif à rechercher et le texte de remplacement :
local result = string.gsub(originalString, pattern, replacement)Voici un exemple simple qui remplace tous les espaces par des traits de soulignement :
local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned) -- Sortie : hello_world_from_luaLa fonction renvoie deux valeurs : la chaîne modifiée et le nombre de remplacements effectués. Vous pouvez capturer les deux si nécessaire :
local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result) -- Sortie : baz bar baz
print(count) -- Sortie : 2Contrairement à certaines fonctions de chaîne qui ne trouvent que la première correspondance, string.gsub() remplace chaque occurrence par défaut, ce qui la rend parfaite pour les tâches de nettoyage de texte, comme la suppression des caractères indésirables ou l’harmonisation du formatage.
Défi
FacileÉcris une fonction cleanText qui prend text et renvoie une version nettoyée où tous les espaces sont remplacés par des underscores.
Utilise string.gsub() pour remplacer chaque caractère espace du texte par un caractère underscore.
Paramètres :
text(string) : Le texte à nettoyer
Renvoie : Le texte où tous les espaces sont remplacés par des underscores (string)
Essayez vous-même
function cleanText(text)
-- Écrire le code ici
end
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
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() contre ipairs()Récapitulatif - Fiche de personnage4Introduction aux métatables
Qu’est-ce qu’une métatable ?setmetatable et getmetatableLa metaméthode __indexLa metaméthode __newindexLa metaméthode __tostringMétaméthodes arithmétiques - Partie 1Métaméthodes arithmétiques - Partie 2Récapitulatif - Table en lecture seule7Manipulation avancée des chaînes
string.gsub() pour la substitutionIntroduction aux motifs de chaînesstring.find()string.match()Itérer avec string.gmatch()Récapitulatif - Analyseur de fichiers journaux2Fonctions supplémentaires de la bibliothèque table
table.concat()construction de tables et unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des meilleurs scores3Concepts avancés des fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu’est-ce qu’une fermeture ?Récapitulatif - Gestionnaire d’événements simpleEntraînez-vous par vous-même : Compilateur Lua en ligne