Così ho il seguente codice per dividere una stringa tra le spaziature:Lua: stringa divisa in parole meno citato
text = "I am 'the text'"
for string in text:gmatch("%S+") do
print(string)
end
Il risultato:
I
am
'the
text'
ma ho bisogno di fare questo:
I
am
the text --[[yep, without the quotes]]
Come posso fare questo?
Modifica: solo per completare la domanda, l'idea è di passare i parametri da un programma a un altro programma. Ecco la richiesta di pull che sto lavorando, attualmente in revisione: https://github.com/mpv-player/mpv/pull/1619
io preferirei qualcosa usando all'analisi delle stringhe. Ad ogni modo, mentre non ho detto nel post, ho bisogno di qualcosa su cui lavorare sia con virgolette singole che doppie, dato che l'idea di questo codice è di analizzare i parametri dalla shell. – m45t3r
È facile aggiornare questa soluzione per farlo funzionare con virgolette singole e doppie; basta sostituire '"^'" 'con' [[^ ["']]]' e '"' $ "' con '[[''] $]]'. Potrebbe anche essere necessario verificare che la quotazione di apertura corrisponda a quella di chiusura. –
È possibile eseguire con l'analisi delle stringhe, ma la soluzione è probabilmente più complessa (e non con una sola espressione poiché i modelli Lua non sono abbastanza potenti da esprimere ciò che serve). –