Menu
Coddy logo textTech

Introduzione ai pattern delle stringhe

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

Quando hai usato string.gsub() nella lezione precedente, hai cercato testo esatto, come spazi o parole specifiche. Ma cosa succede se devi trovare «qualsiasi cifra» o «qualsiasi lettera» senza conoscere il carattere esatto? È qui che entrano in gioco i pattern delle stringhe.

I pattern delle stringhe in Lua sono un modo per descrivere il tipo di testo che stai cercando, anziché il testo esatto. Sono più semplici delle espressioni regolari, ma abbastanza potenti per la maggior parte delle operazioni di elaborazione del testo.

Lua fornisce codici speciali chiamati classi di caratteri, che corrispondono a categorie di caratteri. Ecco i più comuni:

%d  -- corrisponde a qualsiasi cifra (0-9)
%a  -- corrisponde a qualsiasi lettera (a-z, A-Z)
%s  -- corrisponde a qualsiasi carattere di spaziatura (spazio, tabulazione, nuova riga)
%w  -- corrisponde a qualsiasi carattere alfanumerico (lettere e cifre)
%p  -- corrisponde a qualsiasi segno di punteggiatura

Ecco come potresti usare questi pattern con string.find() per individuare la prima cifra in una stringa:

local text = "Room 42 is available"
local position = string.find(text, "%d")
print(position)  -- Output: 6

Puoi anche usare le versioni maiuscole di queste classi per indicare l’opposto. Per esempio, %D corrisponde a qualsiasi carattere che non è una cifra, e %A corrisponde a qualsiasi carattere che non è una lettera.

challenge icon

Sfida

Facile

Scrivi una funzione containsDigit che accetta text e restituisce se il testo contiene almeno una cifra.

Usa string.find() con la classe di caratteri %d per verificare se nella stringa è presente una cifra.

Parametri:

  • text (stringa): Il testo in cui cercare cifre

Restituisce: true se il testo contiene almeno una cifra, false altrimenti (booleano)

Provalo tu

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