Explode in Lua
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
code
dank
ergebnis
folgendes funktionen
funktion
idee
inhalt
jemand
klammern
machen
match
obigen beispiel
post
re
string
suche
test
testen
vorschlag
zeichen
-
Hi,
ich stehe vor einem Rätsel... Es geht um folgendes:
ref="/tag/funktion">Funktionen zum Splitten von Strings mittels Delimiter in Lua sind mir hinreichend bekannt. Jedoch möchte ich, ohne viel Codegewusel den Inhalt zwischen zwei Klammern "exploden" d.h. ich möchte aus
(Test)
das "Test" extrahieren. Leider tu ich mich derweil ein wenig schwer damit und hoffe, hier hat jemand eine Idee. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
So wirklich schlau werde ich nicht aus deinem Post, denn die PHP-Funktion explode macht eigentlich was anderes. Aber vllt hilft dir folgendes weiter:
str = "(foo)" match = string.match( str, "%((.+)%)" )
Dies matcht den Inhalt zwischen den Klammern, vorrausgesetzt, es gibt im String selber keine Klammern.
Das % Zeichen ist übrigends das Escape-Zeichen bei den Lua-REs. Mithilfe von normalen Klammern () erzeugt man ein so genanntes Capture, dass dann den Rückgabewert von string.match() entspricht. Man kann auch mehrere Captures haben und hat damit dann auch mehrere Rückgabewerte.
Beitrag zuletzt geändert: 26.11.2010 23:21:02 von bladehunter -
Um den Post nochmal kurz zu erklären... Es geht einfach nur darum, dass ich einen String zwischen Delim-A und Delim-B extrahieren will. Im obigen Beispiel ist Delim-A also ( und Delim-B wäre dann ), das Ergebnis meiner "Suche" sollte also "Test" sein.
Aber danke für den Vorschlag. Werd ich direkt mal testen.
EDIT:
Danke, genau was ich gesucht habe :)
Beitrag zuletzt geändert: 27.11.2010 15:44:09 von fabo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage