Menu
Coddy logo textTech

string.find()

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

Ora che hai capito le classi di caratteri, puoi usarle con string.find() per cercare dei modelli invece del testo esatto. Questo apre possibilità interessanti per la convalida e l’analisi del testo.

La funzione string.find() funziona allo stesso modo con i pattern e con le stringhe letterali. Restituisce la posizione in cui il pattern corrisponde per la prima volta:

local text = "User123"
local position = string.find(text, "%d")
print(position)  -- Risultato: 5

Questo trova la prima cifra nella stringa, che si trova in posizione 5. Puoi anche cercare l'opposto usando le classi di caratteri maiuscole:

local code = "ABC123"
local position = string.find(code, "%D")
print(position)  -- Risultato: 1

Qui, %D corrisponde a qualsiasi carattere non numerico, quindi trova la prima lettera in posizione 1.

Un'attività di convalida comune consiste nel verificare se una stringa inizia con uno schema specifico. Puoi usare l'ancora ^ all'inizio di uno schema per trovare corrispondenze solo all'inizio della stringa:

local username = "player42"
local startsWithLetter = string.find(username, "^%a")

if startsWithLetter then
    print("Valid username")
else
    print("Username must start with a letter")
end

Questo schema verifica se la stringa inizia con una lettera, rendendolo utile per la convalida dell'input quando sono richiesti determinati formati.

challenge icon

Sfida

Facile

Scrivi una funzione startsWithLetter che accetta text e restituisce se la stringa inizia con una lettera.

Usa string.find() con l’ancora ^ e la classe di caratteri %a per verificare se la stringa inizia con una lettera.

Parametri:

  • text (stringa): La stringa da convalidare

Restituisce: true se la stringa inizia con una lettera, false altrimenti (booleano)

Provalo tu

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