Как разделить строку в Lua запятой

Мне нужна разделенная строка с ограниченной строкой (для меня запятая) или символ в массиве. Как разделить или разделить запятой в Lua.

Я проверяю эти ссылки, но не понимаю:

http://lua-users.org/wiki/SplitJoin

http://lua-users.org/wiki/PatternsTutorial

https://stackoverflow.com/questions/1426954/splitstring-in-lua

objPropo = {}
str = "Maria Mercedez,,Jose,Sofia"
i = 1
for token in string.gmatch(str, ",") do
    objPropo[i] = token
    i = i + 1
end
native.showAlert("Names", objPropo[1], {"OK"})
native.showAlert("Names", objPropo[2], {"OK"})  <-- Is this error? Because is nil? or what happend?
native.showAlert("Names", objPropo[3], {"OK"})
native.showAlert("Names", objPropo[4], {"OK"})

Он мог показать:

Maria Mercedez

Как отформатировать шаблоны отправки?

[Другой вариант]

если это возможно?

objPropo = {}
str = "Maria Mercedez,,Jose,Sofia"
i = 1
for token in string.gmatch(str, ",") do
    objPropo[token] = token           <-------- CHECK
    i = i + 1
end
native.showAlert("Names", objPropo["Maria Mercedez"], {"OK"})
native.showAlert("Names", objPropo["Jose"], {"OK"})

Верно?


person rkv    schedule 26.05.2014    source источник


Ответы (1)


Чтобы разделить строку запятыми, вам нужно использовать шаблон, который соответствует не запятым (за которым следует запятая):

for token in string.gmatch(str, "([^,]+),%s*") do
    objPropo[i] = token
    i = i + 1
end 
person Yu Hao    schedule 26.05.2014
comment
Спасибо, но я решил эту проблему с помощью: string.gmatch (event.result, [^,] +) - person rkv; 26.05.2014
comment
@Ryuchan Это может включать пробелы перед именами, если вы этого хотите. - person Yu Hao; 26.05.2014
comment
Перед именами не должно быть пробелов. Теперь я отредактировал. Я хочу знать, что будет, если между запятой ничего не будет символа. - person rkv; 26.05.2014