Lua:将一个字符串分割成两个数字并作为单独的变量获取

我在几个地方搜索了一下,但没有找到任何东西。因此,以下是我需要做的事情: 我有一个字符串:“something123x456”,我需要将123和456作为单独的数字获取。 我知道如果数字总是三位数,那就容易得多了,但它们可能都不同。例如,123和456表示游戏中的X和Y值;因此它们可以是something2x5或something2x98等等。

我需要以某种方式去除“something”,然后获取第一组数字并将其保存到名为worldxid的变量中,然后删除“x”,并将最后几位数字添加到worldyid中。

注意:这是在游戏的仿真器中使用的,因此有API调用:textutils。 我有以下代码:

local tNumbers = {
    “1”,
    “2”,
    “3”,
    “4”,
    “5”,
    “6”,
    “7”,
    “8”,
    “9”,
}

str =“space1x1”
something = {}
new = {}
for i = 1 ,#str do
    local c = str:sub(i,i)
    - 对C进行某种操作
    print(c)
    table.insert(something,c)
结束

对于K,V IN ipairs(something) do
    对于_,v1 IN ipairs(tNumbers) do
        如果V == v1 then
            table.insert(new,v)
        elseif v ==“x”then
            休息
        结束
    结束
结束

table.concat(new)
print(#new)
print(textutils.serialize(new))

提前感谢!

点赞
用户107090
用户107090

尝试一下:

s = "something123x456"
worldxid, worldyid = s:match("(%d+).-(%d+)")
2015-02-03 11:54:39
用户204011
用户204011

像这样吗?

str = "something123x456"
local s1, s2 = str:match("(%d+)x(%d+)")
local n1, n2 = tonumber(s1), tonumber(s2)
2015-02-03 11:55:04