lua-用逗号分隔带空格和数字的字符串

时间:2019-05-16 09:30:11

标签: string lua whitespace

如何用逗号分隔带有空格和数字的字符串?

例如

str = "bar, bar123, bar 123, 123"

到包含

的表中
{"bar", "bar123", "bar 123", "123"}

4 个答案:

答案 0 :(得分:2)

简化图案匹配的关键是确保均匀性。在这种情况下,这是通过确保每个字段都有一个终止逗号来实现的:

for w in (str..","):gmatch("(.-),%s*") do
   print("["..w.."]")
end

答案 1 :(得分:0)

从羽扇上安装split模块,然后

split = require("split").split
t = split(str, ', ')
for _, val in ipairs(t) do print(">" .. val .. "<") end
>bar<
>bar123<
>bar 123<
>123<

答案 2 :(得分:0)

您可以使用此功能。

function string:split(_sep)
    local sep, fields = _sep or ":", {}
    local pattern = string.format("([^%s]+)", sep)
    self:gsub(pattern, function(c) fields[#fields+1] = c end)
    return fields
end

这将返回一个由'_sep'拆分的表。

答案 3 :(得分:0)

如果Google将其他人带到这里寻找基本lua的有效答案:

str_tbl = {}
for value in string.gmatch(str, '([^, *]+)') do
  str_tbl[#str_tbl+1] = value 
end