如何在lua中拆分带有多个分隔符的字符串?

时间:2016-11-16 19:55:02

标签: string split lua

我想将一个字符串拆分成一个由多个分隔符分隔的数组。

local delim = {",", " ", "."}
local s = "a, b c .d e , f 10, M10 , 20,5"

结果表应如下所示:

{"a", "b", "c", "d", "e",  "f", "10", "M10", "20", "5"}

分隔符可以是空格,逗号或点。 如果两个分隔符(如空格和逗号)相互匹配,它们应该被折叠,应该忽略其他空格。

1 个答案:

答案 0 :(得分:2)

此代码通过构建分隔符集的补充模式来根据需要拆分字符串。

local delim = {",", " ", "."}
local s = "a, b c .d e , f 10, M10 , 20,5"
local p = "[^"..table.concat(delim).."]+"
for w in s:gmatch(p) do
        print(w)
end

调整代码以保存"字"在桌子上。