Lua用分号分割字符串

Ank*_*shi 5 lua split

Lua中如何用分号分割字符串?

local destination_number="2233334;555555;12321315;2343242"
Run Code Online (Sandbox Code Playgroud)

在这里我们可以看到分号(;)多次出现,但我只需要在第一次出现之前从上面的字符串输出。

尝试过的代码:

if string.match(destination_number, ";") then
    for token in string.gmatch(destination_number, "([^;]+),%s*") do
        custom_destination[i] = token
        i = i + 1

    end 
end
Run Code Online (Sandbox Code Playgroud)

输出 :

2233334
Run Code Online (Sandbox Code Playgroud)

我已经尝试过上面的代码,但对于 Lua 脚本来说是新手,所以无法获得确切的语法。

lhf*_*lhf 5

如果您只想第一次出现,那么这是有效的:

print(string.match(destination_number, "(.-);"))
Run Code Online (Sandbox Code Playgroud)

该模式为:第一个分号之前但不包括第一个分号的所有内容。

如果您想要所有出现的情况,那么这有效:

for token in string.gmatch(destination_number, "[^;]+") do
    print(token)
end
Run Code Online (Sandbox Code Playgroud)

  • 那“a;;c;d”呢?第二个字符串暗示存在并且等于空字符串。这种情况在 CSV 文件中很常见 (2认同)