Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Lua:拆分一个字符串并将两个数字作为单独的变量_String_Variables_Lua_Split_Numbers - Fatal编程技术网

String Lua:拆分一个字符串并将两个数字作为单独的变量

String Lua:拆分一个字符串并将两个数字作为单独的变量,string,variables,lua,split,numbers,String,Variables,Lua,Split,Numbers,我找了几个地方,没找到任何东西。下面是我需要做的: 我有一个字符串:123x456, 我需要把123号和456号分开。 我知道如果数字总是3位数,那就容易多了,但它们可能都不一样。。例如,123和456代表游戏中的X和Y值;所以它们可能是2x5或2x98之类的东西 我需要以某种方式删除某物,然后获取第一组数字并将它们保存到一个名为worldxid的变量中,然后删除x,然后获取最后几个数字并将它们添加到worldyid中 注意:这在游戏的模拟器中使用,因此存在API调用:textutils。 我有

我找了几个地方,没找到任何东西。下面是我需要做的: 我有一个字符串:123x456, 我需要把123号和456号分开。 我知道如果数字总是3位数,那就容易多了,但它们可能都不一样。。例如,123和456代表游戏中的X和Y值;所以它们可能是2x5或2x98之类的东西

我需要以某种方式删除某物,然后获取第一组数字并将它们保存到一个名为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)
    -- do something with c
    print(c)
    table.insert(something, c)
end

for k, v in ipairs(something) do
    for _,v1 in ipairs(tNumbers) do
        if v == v1 then
            table.insert(new, v)
        elseif v == "x" then
            break
        end
    end
end

table.concat(new)
print(#new)
print(textutils.serialize(new))
提前谢谢

试试这个:

s = "something123x456"
worldxid, worldyid = s:match("(%d+).-(%d+)")
像这样的

str = "something123x456"
local s1, s2 = str:match("(%d+)x(%d+)")
local n1, n2 = tonumber(s1), tonumber(s2)

我首先测试了上面的一个,但是这个也可以!非常感谢。