string.find()
Teil des Abschnitts Grundlagen 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.
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)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren 2: Vergleichs- und logische Operatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorKurzschlussauswertungTruthy- und Falsy-WerteRückblick – Einfache Logik7Grundlegende bedingte Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungWiederholung – Schatztruhe2Variablen und Datentypen
Was ist eine Variable?ZahlenZeichenkettenBoolesche WerteDer Wert „nil“Die Funktion type()NamenskonventionenRückblick – Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring()-FunktionEingabeTypumwandlungRückblick – StatusberichtRückblick – Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Rückblick – Benutzernamen formatieren3Operatoren 1: Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorVerkettung von ZeichenkettenRangfolge der OperatorenWiederholung – Einfache Berechnungen6Projekt: Charakterwerte anzeigen
WillkommensnachrichtCharakterwerte deklarieren9Grundlagen von Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie Anweisung „return“Zusammenfassung – Flächenrechner12Grundlagen der Schleifen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie Anweisung „break“Rückblick – Countdown15Abschließende Herausforderungen
Wiederholung – SpielzugWiederholung – Einfache DatenbankWiederholung – Summe gerader ZahlenÜbe selbstständig: Online-Lua-Compiler