使用分隔符获取数值txt文件

我有一个 txt 文件,其中包含以下文本:

5;2;8;3;

我需要使用 ; 作为分隔符获取数字值,并将它们放入一个数组中。如何实现这一点?

点赞
用户3832970
用户3832970

最简单的方法是使用 string.gmatch 来匹配数字:

local example = "5;2;8;3;"
for i in string.gmatch(example, "%d+") do
  print(i)
end

输出结果:

5
2
8
3

另一种“难一些”的方法是使用特定的 Split 函数:

function split(str, delimiter)
    local result = {}
    local regex = string.format("([^%s]+)%s", delimiter, delimiter)
    for entry in str:gmatch(regex) do
        table.insert(result, entry)
    end
    return result
end

local split_ex = split(example, ";")
print(unpack(split_ex))

输出结果:

5       2       8       3

可以在这里查看一个示例程序。

2015-04-25 21:35:48