Menu
Coddy logo textTech

string.gsub() per la sostituzione

Fa parte della sezione Logica e flusso del percorso Lua di Coddy. Lezione 35 di 54.

Quando lavori con le stringhe, spesso devi trovare e sostituire del testo. La funzione string.gsub() di Lua semplifica questa operazione eseguendo una sostituzione globale: trova tutte le occorrenze di un pattern e le sostituisce con qualcos'altro.

La sintassi di base accetta tre argomenti: la stringa originale, il modello da trovare e il testo sostitutivo:

local result = string.gsub(originalString, pattern, replacement)

Ecco un semplice esempio che sostituisce tutti gli spazi con trattini bassi:

local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned)  -- Risultato: hello_world_from_lua

La funzione restituisce due valori: la stringa modificata e il numero di sostituzioni effettuate. Se necessario, puoi acquisirli entrambi:

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- Salida: baz bar baz
print(count)   -- Salida: 2

A differenza di alcune funzioni per stringhe che trovano solo la prima corrispondenza, string.gsub() sostituisce ogni occorrenza per impostazione predefinita, rendendola perfetta per attività di pulizia del testo come la rimozione di caratteri indesiderati o la standardizzazione della formattazione.

challenge icon

Sfida

Facile

Scrivi una funzione cleanText che accetta text e restituisce una versione ripulita in cui tutti gli spazi sono sostituiti da trattini bassi.

Usa string.gsub() per sostituire ogni carattere spazio nel testo con un carattere trattino basso.

Parametri:

  • text (stringa): Il testo da ripulire

Restituisce: Il testo con tutti gli spazi sostituiti da trattini bassi (stringa)

Provalo tu

function cleanText(text)
    -- Scrivi il codice qui
end
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Lua online