Ho una stringa in lua.lua diviso in parole
È un gruppo di [a-zA-Z0-9] + separato da un numero (1 o più) di spazi.
Come posso prendere la stringa e dividerla in una tabella di stringhe?
Ho una stringa in lua.lua diviso in parole
È un gruppo di [a-zA-Z0-9] + separato da un numero (1 o più) di spazi.
Come posso prendere la stringa e dividerla in una tabella di stringhe?
s = "foo bar 123"
words = {}
for word in s:gmatch("%w+") do table.insert(words, word) end
gnome manuale di riferimento dice: '% w' rappresenta tutti i caratteri alfanumerici. – u0b34a0f6ae
s="How do I take the string and split it into a table of strings?"
for w in s:gmatch("%S+") do print(w) end
manuale di riferimento gnome dice [stringa di Spalato in lua?]: '% S' rappresenta tutti i caratteri non spaziali. – u0b34a0f6ae
La risposta accettata (ponzao) va bene con le specifiche nella domanda, ma il motivo per preferire la risposta di lhf è che se hai testo a 8 bit o multibyte (tutto non-ascii), puoi comunque dividerlo correttamente solo sugli spazi usando questo metodo. – u0b34a0f6ae
@ u0b34a0f6ae Quindi, ad esempio, funzionerebbe con la codifica UTF-8. :]]] (ma non con alcuni spazi bianchi speciali Unicode che usano punti di codice più lunghi) – Hydro
possibile duplicato (http://stackoverflow.com/questions/1426954/split-string-in-lua) – Jacob