Разделить строку с помощью string.gmatch () в Lua
Здесь есть некоторые обсуждения и служебные функции для разделения строк, но мне нужна специальная однострочная для очень простой задачи.
У меня есть следующая строка:
local s = "one;two;;four"
И я хочу разделить его на";"
, Я хочу, в конце концов, иди получить{ "one", "two", "", "four" }
взамен
Итак, я попытался сделать:
local s = "one;two;;four"
local words = {}
for w in s:gmatch("([^;]*)") do table.insert(words, w) end
Но результат (words
таблица){ "one", "", "two", "", "", "four", "" }
, Тот'Конечно, не то, что я хочу.
Теперь, как я заметил, здесь есть некоторые дискуссии о разбиении строк, но они имеют "длинный» функции в них, и мне нужно что-то краткое. Мне нужен этот код для программы, в которой я показываю достоинства Lua, и если я добавлю длинную функцию, чтобы сделать что-то настолько тривиальное, это пойдет против меня.