Aller au contenu principal
ShadowAcademy

Les langages / Lua / Chaines de caracteres

Manipulation de chaînes

Lua offre une bibliothèque puissante pour manipuler les chaînes de caractères. Les fonctions string permettent de rechercher, remplacer, découper et formater du texte.

Fonctions de base

local texte = "Apprendre le Lua"

-- Longueur
print(#texte)  -- 16
print(string.len(texte))  -- 16

-- Majuscules/minuscules
print(string.upper(texte))  -- APPRENDRE LE LUA
print(string.lower(texte))  -- apprendre le lua

-- Répéter
print(string.rep("Lua ", 3))  -- Lua Lua Lua 

-- Inverser
print(string.reverse("Lua"))  -- auL

Recherche et extraction

local phrase = "Bonjour le monde Lua"

-- Trouver une sous-chaîne
local debut, fin = string.find(phrase, "monde")
print(debut, fin)  -- 12 16

-- Extraire une sous-chaîne
print(string.sub(phrase, 1, 7))   -- Bonjour
print(string.sub(phrase, 12, 16)) -- monde
print(string.sub(phrase, -3))     -- Lua

-- Vérifier le début/fin
if string.find(phrase, "^Bonjour") then
  print("Commence par Bonjour")
end

Remplacement et patterns

local texte = "J'aime le JavaScript et le Java"

-- Remplacer (première occurrence)
local nouveau = string.gsub(texte, "Java", "Lua", 1)
print(nouveau)  -- J'aime le Luaript et le Java

-- Remplacer toutes les occurrences
local tout = string.gsub(texte, "Java", "Lua")
print(tout)  -- J'aime le Luaript et le Lua

-- Compter les remplacements
local resultat, count = string.gsub(texte, "Java", "Lua")
print("Remplacements:", count)

Formatage et découpage

-- Formatage de chaînes
local nom = "Shadow"
local age = 25
local message = string.format("%s a %d ans", nom, age)
print(message)

local pi = 3.14159
print(string.format("Pi = %.2f", pi))  -- Pi = 3.14

-- Découper une chaîne (split)
function split(str, sep)
  local parts = {}
  for part in string.gmatch(str, "([^"..sep.."]+)") do
    table.insert(parts, part)
  end
  return parts
end

local mots = split("Lua,Python,Java", ",")
for i, mot in ipairs(mots) do
  print(i, mot)
end

3 exercices pour cette lecon

Les exercices demandent un compte : il faut bien enregistrer votre progression quelque part. La lecture, elle, reste libre. Creer un compte

  • Fonction string.upper moyen 20 XP
  • Fonction string.sub moyen 20 XP
  • Fonction string.len moyen 20 XP