将字符串按数字拆分

如果我有一个字符串,例如 "123abc456def",我如何将其放入一个表格中,如 {"123abc","456def"}(按数字拆分,但保留它)。

我发现了string.match(),但是它会删除它拆分的字母,至少对于我使用的模式来说是这样的,但我不知道如何自己制作它们。

点赞
用户1863229
用户1863229

一种选项是使用 gmatch 匹配模式 %d+%a+,它匹配一个数字序列后跟随字母:

t = {}
s = "123abc456def"
count = 0
for m in string.gmatch(s, "%d+%a+") do
    t[count] = m
    count = count + 1
    print(m)
end

这将打印:

123abc
456def
2020-12-21 03:22:13