2011-03-24 63 views
2

有没有办法迭代一个逗号分隔的字符串,然后做一些与比赛?到目前为止,我有:如何在字符串中进行模式匹配?

for a in string.gmatch("this, is, a commaseparated, string", "(.-)[,]") do 
    print (a) 
end 

问题是表中的最后一项未找到。在C中,可以匹配NULL来检查您是否在字符串的末尾。 Lua中有类似的东西吗?

回答

3

尝试这种情况:

for a in string.gmatch("this, is, a commaseparated, string", "([^,]+),?") do 
    print (a) 
end 

的正则表达式模式([^,]+),?捕捉的一个或多个任选地跟一个逗号非逗号字符。

+0

太酷了,非常感谢 – fabian 2011-03-24 18:36:47

+1

的,?是不必要的。 – daurnimator 2011-03-25 00:16:59