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_luaLa 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: 2A 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.
Sfida
FacileScrivi 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
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Iterazione avanzata delle tabelle
Iterare con pairs()Iterare con ipairs()pairs() vs. ipairs()Riepilogo - Scheda del personaggio4Introduzione alle metatabelle
Che cos’è una metatabella?setmetatable e getmetatableIl metametodo __indexIl metametodo __newindexIl metametodo __tostringMetametodi aritmetici - Parte 1Metametodi aritmetici - Parte 2Riepilogo - Tabella di sola lettura7Manipolazione avanzata delle stringhe
string.gsub() per la sostituzioneIntroduzione ai pattern delle stringhestring.find()string.match()Iterare con string.gmatch()Riepilogo - Parser di file di log2Altre funzioni della libreria table
table.concat()Costruzione di tabelle e unpack()table.sort()Ordinamento personalizzato con funzioniRiepilogo - Tabellone dei punteggi più altiEsercitati da solo: Compilatore Lua online