Menu
Coddy logo textTech

Iterare con string.gmatch()

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

Mentre string.match() trova la prima occorrenza di un modello, cosa succede se devi trovare tutte le corrispondenze in una stringa? La funzione string.gmatch() risolve il problema restituendo un iteratore che puoi usare in un ciclo for per elaborare ogni corrispondenza una alla volta.

La sintassi di base è questa:

for match in string.gmatch(text, pattern) do
    -- elabora ogni corrispondenza
end

Ecco un esempio che trova tutti i numeri in una stringa:

local text = "I have 3 apples and 5 oranges"
for number in string.gmatch(text, "%d+") do
    print(number)
end
-- Output:
-- 3
-- 5

Il pattern %d+ corrisponde a una o più cifre e il ciclo viene eseguito una volta per ogni numero trovato.

Puoi anche estrarre tutte le parole da una frase:

local sentence = "Lua is a powerful language"
for word in string.gmatch(sentence, "%a+") do
    print(word)
end
-- Risultato:
-- Lua
-- is
-- a
-- powerful
-- language
challenge icon

Sfida

Facile

Scrivi una funzione extractHashtags che prende text e restituisce tutti gli hashtag trovati nel testo, ciascuno su una riga separata.

Usa string.gmatch() per trovare tutti gli hashtag nel testo. Un hashtag inizia con # seguito da una o più lettere.

Logica:

  • Usa string.gmatch() con il pattern "#%a+" per trovare tutti gli hashtag
  • Itera su ogni corrispondenza e raccoglila
  • Unisci tutti gli hashtag con caratteri di nuova riga (\n)
  • Se non viene trovato alcun hashtag, restituisci una stringa vuota

Parametri:

  • text (stringa): Il testo in cui cercare gli hashtag

Restituisce: Tutti gli hashtag trovati, ciascuno su una riga separata. Se non esistono hashtag, restituisce una stringa vuota (stringa)

Provalo tu

function extractHashtags(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