如何在 Lua 编程中拆分字符串?

拆分字符串是我们传递正则表达式或模式的过程,通过它可以将给定的字符串拆分为不同的部分。

在 Lua 中,标准库中没有 split 函数,但我们可以利用其他函数来完成通常 split 函数会做的工作。

Lua 中拆分函数的一个非常简单的例子是使用该gmatch()函数,然后传递一个我们想要分隔字符串的模式。

示例

考虑下面显示的例子 -

local example = "lua is great"

for i in string.gmatch(example, "%S+") do

   print(i)

end

输出结果
lua

is

great

上面的示例适用于简单的模式,但是当我们想要使用正则表达式以及我们可以使用默认模式进行拆分的情况时,我们可以考虑一个更优雅的示例。

示例

考虑下面显示的例子 -

function mysplit (inputstr, sep)

   if sep == nil then

      sep = "%s"

   end

   local t={}

   for str in string.gmatch(inputstr, "([^"..sep.."]+)") do

      table.insert(t, str)

   end

   return t

end

ans = mysplit("hey bro whats up?")

for _, v in ipairs(ans) do print(v) end

ans = mysplit("x,y,z,m,n",",")

for _, v in ipairs(ans) do print(v) end

输出结果
hey

bro

whats

up?

x

y

z

m

n

以上是 如何在 Lua 编程中拆分字符串? 的全部内容, 来源链接: utcz.com/z/311483.html

回到顶部