string.gsub() zur Ersetzung
Teil des Abschnitts Logik & Programmablauf der Lua-Journey von Coddy. Lektion 35 von 54.
Beim Arbeiten mit Zeichenfolgen musst du häufig Text finden und ersetzen. Die string.gsub()-Funktion von Lua macht dies einfach, indem sie eine globale Ersetzung durchführt: Sie findet alle Vorkommen eines pattern und ersetzt sie durch etwas anderes.
Die grundlegende Syntax nimmt drei Argumente entgegen: die ursprüngliche Zeichenfolge, das zu suchende Muster und den Ersatztext:
local result = string.gsub(originalString, pattern, replacement)Hier ist ein einfaches Beispiel, das alle Leerzeichen durch Unterstriche ersetzt:
local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned) -- Ausgabe: hello_world_from_luaDie Funktion gibt zwei Werte zurück: die geänderte Zeichenkette und die Anzahl der vorgenommenen Ersetzungen. Du kannst bei Bedarf beide erfassen:
local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result) -- Ausgabe: baz bar baz
print(count) -- Ausgabe: 2Im Gegensatz zu einigen String-Funktionen, die nur das erste Vorkommen finden, ersetzt string.gsub() standardmäßig jedes Vorkommen und eignet sich daher perfekt für Aufgaben zur Textbereinigung, etwa zum Entfernen unerwünschter Zeichen oder zum Vereinheitlichen der Formatierung.
Aufgabe
EinfachSchreibe eine Funktion cleanText, die text entgegennimmt und eine bereinigte Version zurückgibt, in der alle Leerzeichen durch Unterstriche ersetzt wurden.
Verwende string.gsub(), um jedes Leerzeichen im Text durch einen Unterstrich zu ersetzen.
Parameter:
text(string): Der zu bereinigende Text
Rückgabe: Der Text, in dem alle Leerzeichen durch Unterstriche ersetzt wurden (string)
Probier es selbst
function cleanText(text)
-- Schreibe hier den Code
end
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Programmablauf
1Fortgeschrittene Tabelleniteration
Iterieren mit pairs()Iterieren mit ipairs()pairs() vs. ipairs()Zusammenfassung – Charakterbogen4Einführung in Metatables
Was ist eine Metatable?setmetatable & getmetatableDie __index-MetamethodeDie __newindex-MetamethodeDie __tostring-MetamethodeArithmetische Metamethoden Teil 1Arithmetische Metamethoden Teil 2Rückblick – Read-Only-Tabelle7Fortgeschrittene String-Manipulation
string.gsub() zur ErsetzungEinführung in String-Musterstring.find()string.match()Iteration mit string.gmatch()Zusammenfassung – Parser für Logdateien2Weitere Funktionen der Tabellenbibliothek
table.concat()Tabellenkonstruktion & unpack()table.sort()Eigene Sortierung mit FunktionenRückblick – Highscore-TabelleÜbe selbstständig: Online-Lua-Compiler