So habe ich den folgenden Code eine Zeichenfolge zwischen Leerzeichen aufzuteilen:Lua: split-String in Worte, es sei denn
text = "I am 'the text'"
for string in text:gmatch("%S+") do
print(string)
end
Das Ergebnis:
I
am
'the
text'
aber ich brauche, dies zu tun:
I
am
the text --[[yep, without the quotes]]
Wie kann ich das tun?
Bearbeiten: nur um die Frage zu ergänzen, besteht die Idee darin, Parameter von einem Programm zu einem anderen Programm zu übergeben. Hier ist die Pull-Anfrage, die ich arbeite, derzeit im Rückblick: https://github.com/mpv-player/mpv/pull/1619
Ich würde etwas mit String-Parsing bevorzugen. Wie auch immer, während ich in der Post nicht gesagt habe, brauche ich etwas mit einfachen und doppelten Anführungszeichen zu arbeiten, da die Idee dieses Codes ist, Parameter aus der Shell zu analysieren. – m45t3r
Es ist einfach, diese Lösung zu aktualisieren, damit sie mit einfachen und doppelten Anführungszeichen funktioniert. Ersetzen Sie einfach ''^'" 'durch' [[^ ['']]] 'und' "'$" 'durch' [[[' "] $]]'. Möglicherweise müssen Sie auch überprüfen, ob das Eröffnungsangebot mit dem Schlussangebot übereinstimmt. –
Es ist möglich, mit String-Parsing zu tun, aber die Lösung ist wahrscheinlich komplexer (und nicht mit einem Ausdruck, da Lua-Muster nicht stark genug sind, um das auszudrücken, was Sie brauchen). –