Lua - Chaînes de caractères

Bonjour, aspirants programmeurs ! Aujourd'hui, nous plongeons dans le merveilleux monde des chaînes de caractères en Lua. En tant que votre professeur d'informatique de quartier, je suis excité de vous guider dans ce voyage. Imaginons les chaînes de caractères comme les mots et les phrases de la programmation - elles sont notre moyen de travailler avec du texte dans notre code. Alors, mettez vos casquettes d'apprentissage et c'est parti !

Lua - Strings

Manipulation de chaînes

En Lua, les chaînes de caractères sont comme des séquences magiques de caractères que nous pouvons manipuler de diverses manières. Commençons par les bases :

Création de chaînes

local salutation = "Hello, World!"
local nom = 'Alice'
local multiline = [[
Ceci est une
chaîne multiligne
]]

Dans cet exemple, nous avons créé trois chaînes :

  1. salutation utilise des guillemets doubles
  2. nom utilise des apostrophes simples
  3. multiline utilise des doubles crochets pour plusieurs lignes

Les apostrophes simples et les guillemets doubles fonctionnent de la même manière, mais utiliser des doubles crochets permet d'inclure des sauts de ligne.

Concaténation

La concaténation est juste un mot fancy pour dire que nous joignons des chaînes ensemble. En Lua, nous utilisons l'opérateur .. :

local prenom = "John"
local nom_de_famille = "Doe"
local nom_complet = prenom .. " " .. nom_de_famille
print(nom_complet)  -- Output: John Doe

Ici, nous avons joint prenom, un espace, et nom_de_famille pour créer nom_complet.

Manipulation de la casse

Parfois, nous avons besoin de crier (majuscules) ou de chuchoter (minuscules) nos chaînes :

local texte = "Hello, Lua Learners!"
print(string.upper(texte))  -- Output: HELLO, LUA LEARNERS!
print(string.lower(texte))  -- Output: hello, lua learners!

Les fonctions string.upper() et string.lower() font exactement ce que vous attendriez - elles transforment notre texte en majuscules ou en minuscules.

Remplacement d'une sous-chaîne

Besoin de trouver et de remplacer une partie d'une chaîne ? Lua est là pour vous :

local phrase = "J'aime les pommes, les pommes sont mon fruit préféré."
local nouvelle_phrase = string.gsub(phrase, "pommes", "oranges")
print(nouvelle_phrase)  -- Output: J'aime les oranges, les oranges sont mon fruit préféré.

Ici, string.gsub() remplace toutes les occurrences de "pommes" par "oranges". C'est comme un find-and-replace dans votre traitement de texte !

Recherche et inversion

Recherche de sous-chaînes

Pour trouver une sous-chaîne dans une chaîne, nous utilisons string.find() :

local texte = "Lua est fun et puissant !"
local debut, fin = string.find(texte, "fun")
print("'fun' commence à la position " .. debut .. " et se termine à " .. fin)
-- Output: 'fun' commence à la position 8 et se termine à 10

Cette fonction renvoie les positions de début et de fin de la sous-chaîne.

Inversion de chaînes

Vous voulez lire votre chaîne à l'envers ? Utilisez string.reverse() :

local avant = "Lua est awesome"
local arriere = string.reverse(avant)
print(arriere)  -- Output: emosewa si auL

C'est comme par magie - votre texte est instantanément inversé !

Formatage de chaînes

Formater des chaînes est crucial lorsque vous voulez créer du texte dynamique. Lua offre un moyen puissant de le faire :

local nom = "Alice"
local age = 30
local formate = string.format("Mon nom est %s et j'ai %d ans.", nom, age)
print(formate)
-- Output: Mon nom est Alice et j'ai 30 ans.

Dans cet exemple, %s est remplacé par la chaîne nom, et %d est remplacé par le nombre age. C'est comme remplir les blancs dans une phrase !

Représentations de caractères et d'octets

Lua nous permet de travailler avec des caractères individuels dans une chaîne :

local str = "Lua"
print(string.byte(str, 1))  -- Output: 76 (code ASCII pour 'L')
print(string.char(76))      -- Output: L

string.byte() nous donne le code ASCII d'un caractère, tandis que string.char() fait l'inverse.

Autres fonctions courantes

Jetons un coup d'œil à quelques autres fonctions utiles pour les chaînes :

Fonction Description Exemple
string.len() Retourne la longueur d'une chaîne print(string.len("Lua")) -- Output: 3
string.rep() Répète une chaîne print(string.rep("Ha", 3)) -- Output: HaHaHa
string.sub() Extrait une sous-chaîne print(string.sub("Lua est fun", 1, 3)) -- Output: Lua

Ces fonctions sont comme des couteaux suisses pour la manipulation de chaînes - incroyablement polyvalentes et utiles !

En conclusion, les chaînes en Lua sont des outils puissants qui nous permettent de travailler avec du texte de manière créative. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces fonctions. Avant de vous en rendre compte, vous serez en train de assembler des programmes complexes avec aisance !

Bonne programmation, futurs programmeurs ! Et souvenez-vous, dans le monde de la programmation, chaque caractère compte - littéralement !

Credits: Image by storyset