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 12In diesem Beispiel beginnt das Wort „treasure“ an Position 5 und endet an Position 12 im Satz.
Aufgabe
EinfachErstelle 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 12Probier 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)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren 2: Vergleichs- & Logikoperatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorShort-Circuit EvaluationTruthy- und Falsy-WerteZusammenfassung – Einfache Logik7Grundlagen der bedingten Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungZusammenfassung – Schatzkiste10Tabellen Teil 1: Listen-Stil
Was ist eine Tabelle?Eine Tabelle erstellenZugriff auf Elemente per IndexElemente per Index ändernDer Längenoperator '#'table.insert()table.remove()Zusammenfassung - Gruppenmitglieder verwalten13Projekt: Einfacher Zaubertrank-Laden
Projekt-SetupEinen Trank hinzufügen2Variablen und Datentypen
Was ist eine Variable?ZahlenStringsBooleansDer Wert 'nil'Die type()-FunktionNamenskonventionenZusammenfassung - Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring() FunktionEingabeCastWiederholung - StatusberichtWiederholung - Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Wiederholung - Benutzernamen formatieren11Tabellen 2: Dictionary-Stil
Schlüssel-Wert-PaareDictionary-Stil Tabellen erstellenZugriff – KlammerschreibweiseZugriff mit PunktnotationPaare hinzufügen und ändernPaare mit nil entfernenWiederholung – Elementeigenschaften14Gültigkeitsbereich von Variablen
Globale VariablenLokale VariablenWarum lokale Variablen verwenden?Gültigkeitsbereich und BlöckeRückblick – Scope-Rätsel3Operatoren 1 Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorString-VerkettungOperatorrangfolgeRückblick - Einfache Berechnungen6Projekt: Charakter-Stats Anzeige
WillkommensnachrichtCharakter-Stats deklarieren9Grundlagen der Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie 'return'-AnweisungZusammenfassung - Flächenrechner12Schleifen-Grundlagen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie 'break'-AnweisungZusammenfassung - Countdown15Abschluss-Herausforderungen
Wiederholung – SpielerzugWiederholung – Einfache DatenbankWiederholung – Summe gerader Zahlen