Menu
Coddy logo textTech

string.find()

Parte da seção Lógica e Fluxo do Journey de Lua da Coddy. Lição 37 de 54.

Agora que você entende as classes de caracteres, pode usá-las com string.find() para pesquisar padrões em vez de texto exato. Isso abre possibilidades poderosas para validação e análise de texto.

A função string.find() funciona da mesma forma com padrões que com strings literais. Ela retorna a posição em que o padrão corresponde pela primeira vez:

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

Isso encontra o primeiro dígito na string, que está na posição 5. Você também pode pesquisar o oposto usando classes de caracteres em letras maiúsculas:

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

Aqui, %D corresponde a qualquer caractere que não seja um dígito, então encontra a primeira letra na posição 1.

Uma tarefa comum de validação é verificar se uma string começa com um padrão específico. Você pode usar a âncora ^ no início de um padrão para fazer a correspondência somente no início da string:

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

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

Esse padrão verifica se a string começa com uma letra, tornando-o útil para a validação de entradas em que determinados formatos são necessários.

challenge icon

Desafio

Fácil

Escreva uma função startsWithLetter que receba text e retorne se a string começa com uma letra.

Use string.find() com a âncora ^ e a classe de caracteres %a para verificar se a string começa com uma letra.

Parâmetros:

  • text (string): A string a ser validada

Retorna: true se a string começar com uma letra, false caso contrário (booleano)

Experimente você mesmo

function startsWithLetter(text)
    -- Escreva o código aqui
end
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de Lua online