У меня есть строка ввода через запятую, которая должна поддерживать пустые записи. Таким образом, строка типа a,b,c,,d
должна привести к таблице с 5 записями, где 4 - пустое значение.
Упрощенный пример
str="a,b,c,,d"
count=0
for v in string.gmatch(str, '([^,]*)') do
count = count + 1
end
print(count)
Этот код выводит
9
в Lua 5.1, хотя есть только 5 записей.
Я могу изменить *
в regex to +
- тогда он сообщает 4 записи a,b,c,d
, но не пустую. Кажется, это поведение было исправлено в Lua 5.2, потому что приведенный выше код прекрасно работает в lua 5.2, но я вынужден найти решение для lua 5.1
Моя текущая реализация
function getValues(inputString)
local result = {}
for v in string.gmatch(inputString, '([^,]*)') do
table.insert(result, v)
end
return result
end
Есть предложения по исправлению?