如何在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"}

分隔符可以是空格、逗号或点。 如果两个分隔符像空格和逗号一样在彼此之后,它们应该被合并,额外的空格应该被忽略。

点赞
用户107090
用户107090

这段代码通过构造一个补集分隔符模式来按要求拆分字符串。

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

将代码修改为将“单词”保存在一个表中。

2016-11-16 21:37:36