Lua迭代字符串中的字母对?

时间:2016-12-14 18:11:51

标签: lua

我的字符串格式如下:" a3b12a5g625"。首先是一个字母,然后是一个数字。可以有任意数量的这些对,从1到整数。

我对lua很新,我试图迭代这些对。怎么办呢?

2 个答案:

答案 0 :(得分:4)

如果您想将这些对分开,请使用

local str = "a3b12a5g625"
for a,b in string.gmatch(str, "(%a+)(%d+)") do
    print(a,b)
end

答案 1 :(得分:3)

您可以将string.gmatchpattern%a+%d+

一起使用
local str = "a3b12a5g625"
for pair in string.gmatch(str, "%a+%d+") do
    print(pair)
end

输出:

a3
b12
a5
g625

如果您希望将数字和字母拆分为单独的变量,请将每个模式项包装在捕获组中:

local str = "a3b12a5g625"
for letters, numbers in string.gmatch(str, "(%a+)(%d+)") do
    print(letters, " ", numbers)
end

输出:

a       3
b       12
a       5
g       625