2011-03-24 64 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