Menu
Coddy logo textTech

string.find()

Teil des Abschnitts Logik & Programmablauf der Lua-Journey von Coddy. Lektion 37 von 54.

Nachdem du Zeichenklassen verstanden hast, kannst du sie mit string.find() verwenden, um nach Mustern statt nach exakt übereinstimmendem Text zu suchen. Das eröffnet leistungsstarke Möglichkeiten zur Textvalidierung und -analyse.

Die Funktion string.find() funktioniert mit Mustern genauso wie mit literalen Zeichenketten. Sie gibt die Position zurück, an der das Muster zum ersten Mal übereinstimmt:

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

Damit wird die erste Ziffer in der Zeichenkette gefunden, die sich an Position 5 befindet. Du kannst auch nach dem Gegenteil suchen, indem du Großbuchstaben-Zeichenklassen verwendest:

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

Hier stimmt %D mit jedem Nicht-Ziffernzeichen überein, sodass es den ersten Buchstaben an der Position 1 findet.

Eine häufige Validierungsaufgabe besteht darin zu prüfen, ob eine Zeichenkette mit einem bestimmten Muster beginnt. Du kannst den Anker ^ am Anfang eines Musters verwenden, um nur am Anfang der Zeichenkette Übereinstimmungen zu finden:

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

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

Dieses Muster überprüft, ob der string mit einem Buchstaben beginnt, wodurch es sich zur Eingabevalidierung eignet, wenn bestimmte Formate erforderlich sind.

challenge icon

Aufgabe

Einfach

Schreibe eine Funktion startsWithLetter, die text übernimmt und zurückgibt, ob der String mit einem Buchstaben beginnt.

Verwende string.find() mit dem Anker ^ und der Zeichenklasse %a, um zu prüfen, ob der String mit einem Buchstaben beginnt.

Parameter:

  • text (string): Der zu validierende String

Rückgabewert: true, wenn der String mit einem Buchstaben beginnt, andernfalls false (boolean)

Probier es selbst

function startsWithLetter(text)
    -- Schreibe hier den Code
end
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Programmablauf

Übe selbstständig: Online-Lua-Compiler