string.gmatch zur Tokenisierung
Durchlaufen Sie mit string.gmatch alle Treffer in einer Zeichenkette
string.gmatch zur Tokenisierung ist eine kostenlose Lua Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Lua Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Lua Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist string.gmatch?
string.gmatch(s, pattern) gibt einen Iterator zurück, der nacheinander alle Treffer von pattern in der Zeichenkette s liefert.
Über Wörter iterieren
Tokenisieren Sie eine Zeichenkette in Wörter, indem Sie Folgen von Zeichen finden, die keine Leerzeichen sind.
local s = "the quick brown fox"
for word in s:gmatch("%S+") do
print(word)
endTreffer in einer Tabelle sammeln
Sammeln Sie alle Treffer in einer Tabelle, um sie anschließend weiterzuverarbeiten.
local function split(s, pat)
local parts = {}
for token in s:gmatch(pat) do
parts[#parts+1] = token
end
return parts
end
local words = split("one two three", "%S+")
print(#words) -- 3Zahlen extrahieren
Extrahieren Sie mit einem %d+-Muster alle Ganzzahlen aus einer Zeichenkette.
local s = "x=10, y=20, z=30"
for n in s:gmatch("%d+") do
print(tonumber(n))
endCaptures in gmatch verwenden
Enthält das Muster Captures, gibt jede Iteration die erfassten Gruppen statt des gesamten Treffers zurück.
local s = "from=Alice, to=Bob, cc=Carol"
for k, v in s:gmatch("(%w+)=(%w+)") do
print(k, "->", v)
endCSV-Tokenizer
Teilen Sie eine CSV-Zeile, indem Sie alles zwischen den Kommas erfassen.
local csv = "apple,banana,cherry,date"
for field in (csv .. ","):gmatch("([^,]*),") do
print(field)
endSchlüssel-Wert-Paare analysieren
Analysieren Sie eine Header-Zeichenkette im HTTP-Stil und wandeln Sie sie in eine Tabelle aus Schlüssel-Wert-Paaren um.
local headers = "Content-Type: text/html; Content-Length: 1234"
local parsed = {}
for k, v in headers:gmatch("([%w%-]+): ([^;]+)") do
parsed[k] = v:match("^%s*(.-)%s*$")
endVorkommen von Mustern zählen
Zählen Sie, wie oft ein Muster in einer Zeichenkette vorkommt.
local function count(s, pat)
local n = 0
for _ in s:gmatch(pat) do n = n + 1 end
return n
end
print(count("banana", "an")) -- 2Satz-Tokenizer
Teilen Sie Text in Sätze, indem Sie bis zu Satzzeichen suchen.
local text = "Hello. How are you? Fine!"
for sent in text:gmatch("[^.!?]+[.!?]?") do
print(sent:match("^%s*(.-)%s*$"))
endgmatch im Vergleich zu string.find in einer Schleife
gmatch ist die bevorzugte Methode, um über alle Treffer zu iterieren. Die Verwendung von string.find in einer while-Schleife ist ausführlicher und fehleranfälliger.
Unicode-Hinweis
Lua-Muster arbeiten auf Byte-Ebene. Mehrbytezeichen in UTF-8 werden von Mustern für einzelne Zeichen möglicherweise nicht korrekt gefunden. Für vollständige Unicode-Unterstützung verwenden Sie eine UTF-8-Bibliothek.
gmatch-Frage
Über welche Elemente iteriert for w in s:gmatch("%S+") do?
Zusammenfassung: string.gmatch
string.gmatch ist der standardmäßige Lua-Tokenizer. Verwenden Sie ihn, um Zeichenketten aufzuteilen, alle Zahlen zu extrahieren, Schlüssel-Wert-Paare zu analysieren und das Vorkommen von Mustern in einer übersichtlichen Iteratorschleife zu zählen.
Häufig gestellte Fragen
Ist die Lektion „string.gmatch zur Tokenisierung“ kostenlos?
Ja — der vollständige Text von „string.gmatch zur Tokenisierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Lua Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Lua Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „string.gmatch zur Tokenisierung“?
Durchlaufen Sie mit string.gmatch alle Treffer in einer Zeichenkette Du übst Lua Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Lua Academy zu starten?
Keine Vorkenntnisse erforderlich. Lua Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „string.gmatch zur Tokenisierung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Lua Academy-Lektion Code schreiben und ausführen?
Ja. Jede Lua Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Syntax von Lua-Mustern
- Captures und string.match
- string.gmatch zur Tokenisierung
- string.gsub für Transformationen