Menu
Coddy logo textTech

string.find()

Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 48 von 90.

Die Funktion string.find() ist ein leistungsstarkes Werkzeug für die Suche innerhalb von Zeichenfolgen. Sie ermöglicht es Ihnen, nach einer kleineren Zeichenfolge (einem sogenannten Muster) innerhalb einer größeren Zeichenfolge zu suchen, und gibt an, wo genau diese gefunden wurde.

Hier ist die grundlegende Syntax:

string.find(text, pattern)

Wenn string.find() das Muster erfolgreich findet, gibt es zwei Zahlen zurück: die Startposition und die Endposition der Übereinstimmung. Wenn das Muster nicht gefunden wird, gibt es nil zurück.

Hier ist ein einfaches Beispiel:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- Ausgabe: 5 12

In diesem Beispiel beginnt das Wort „treasure“ an Position 5 und endet an Position 12 im Satz.

challenge icon

Aufgabe

Einfach

Erstelle einen Detektor für geheime Nachrichten, der nach einem versteckten Codewort in einer längeren Textnachricht sucht. Deklariere eine Variable namens message und weise ihr den Wert "The ancient treasure lies beneath the old oak tree" zu. Verwende die Funktion string.find(), um nach dem Wort "treasure" innerhalb der Nachricht zu suchen, und speichere die Start- und Endpositionen in Variablen namens startPos und endPos. Gib beide Positionswerte in separaten Zeilen aus.

Spickzettel

Die string.find() Funktion sucht nach einem Muster innerhalb eines Strings und gibt die Start- und Endpositionen der Übereinstimmung zurück, oder nil, falls nichts gefunden wurde.

Grundlegende Syntax:

string.find(text, pattern)

Beispiel:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- Ausgabe: 5 12

Probier es selbst

-- Deklariere die Variable message
local message = "The ancient treasure lies beneath the old oak tree"

-- TODO: Schreibe hier deinen Code, um das Wort "treasure" zu finden und die Positionen zu speichern

-- Gib die Positionen aus
print(startPos)
print(endPos)
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 Fundamentals