Lua:
Löschen von Zeichen, die einem Muster entsprechen
Anleitung:
-- Beispiel: Entfernen aller Ziffern aus einem String
local text = "Lua 5.4 ist im Jahr 2020 erschienen!"
local pattern = "[%d]"
local cleanText = text:gsub(pattern, "")
print(cleanText) -- Ausgabe: Lua ist im Jahr erschienen!
-- Beispiel: Entfernen von Leerzeichen
local text = "Raum zwischen Wörtern"
local pattern = "%s"
local spacedOut = text:gsub(pattern, "")
print(spacedOut) -- Ausgabe: RaumzwischenWörtern
Tiefgang:
Historisch ist das Löschen von Zeichen, die einem Muster entsprechen, Teil der Standardbibliotheken vieler Programmiersprachen. Die Funktion gsub
in Lua, die für Global SUBstitution steht, stellt eine mächtige Werkzeug zur Zeichenkettenmanipulation dar.
Alternativen zur gsub
-Funktion können manchmal Schleifen oder manuelle Iteration durch jeden Buchstaben sein, sind aber selten so elegant oder effizient. Die Implementierung von gsub
in Lua basiert auf Pattern-Matching, das von regulären Ausdrücken inspiriert ist, aber dennoch einzigartige Lua-Patterns verwendet.
Die Pattern-Syntax in Lua ist ausdrucksstark: %d
steht für alle Ziffern, %s
für Leerzeichen, und die eckigen Klammern [ ]
definieren eine Charakterklasse. So erleichtert Lua die Arbeit mit Strings erheblich und ermöglicht leistungsstarke Operationen in wenigen Code-Zeilen.
Siehe Auch:
- Die offizielle Lua-Dokumentation über Patterns: https://www.lua.org/manual/5.4/manual.html#6.4.1
- Ein Tutorial zu Lua-Strings und Patterns: https://www.tutorialspoint.com/lua/lua_patterns.htm
- Die Lua-Community-Diskussionsforen für praktische Tipps: https://www.lua.org/forums.html