Разделить строку с помощью 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, и если я добавлю длинную функцию, чтобы сделать что-то настолько тривиальное, это пойдет против меня.

Ответы на вопрос(2)

Ваш ответ на вопрос