string - Lua:分割字符串并将两个数字作为单独的变量

标签 string variables lua split numbers

我找了好几个地方,都没有找到任何东西。所以这就是我需要做的: 我有一个字符串:“something123x456”, 我需要将 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))

提前致谢!

最佳答案

类似这样的吗?

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

关于string - Lua:分割字符串并将两个数字作为单独的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28297875/

相关文章:

python - 如何将列表列表中的所有字符串转换为整数?

c++ - C++ socket.http 中嵌入的 LUA [错误 : attempt to call a nil value]

python - 从字符串中提取单词,删除标点符号并返回带有分隔单词的列表

c - 如何将此数组作为字符串返回?

string - 如何将整数转换为没有 0x 的十六进制字符串(Julia 1.0)

excel - 如何在excel中创建引用变量

javascript - 在 InnerHTML 中调用的函数中的变量错误

java - 不能使用变量来定义数组值吗?

lua - 从最短到最长对单词数组/表进行排序

c - 通过在 nginx 配置中调用外部 C 代码来设置缓存键