如何在 Lua 字符串中迭代各个字符?


Lua 中的字符串是我们能以不同方式进行迭代的字符序列。

在 Lua 5.1 之后,我们可以使用许多方法来迭代构成字符串的字符,我们甚至可以对它们执行任何我们想做的事情,比如在另一个示例中使用它们,或只是打印它们。

让我们考虑打印字符串各个字符的第一种也是最基本的方法。

示例

考虑下面显示的示例 −

 实时演示

str = "tutorialspoint"
for i = 1, #str do
   local c = str:sub(i,i)
   print(c)
end

在上面的示例中,我们使用了著名的 string.sub() 函数,它接受两个参数,这两个参数是我们想要的子字符串的起始索引和我们想要的字符串的结束索引。如果我们传递相同的索引,那么我们只需要一个特定字符。

输出

t
u
t
o
r
i
a
l
s
p
o
i
n
t

一种更快的做法是使用 string.gmatch() 函数。

示例

考虑下面显示的示例 −

 实时演示

str = "tutorialspoint"
   for c in str:gmatch"." do
   print(c)
end

输出

t
u
t
o
r
i
a
l
s
p
o
i
n
t

更新日期: 19 年 7 月 21 日

2K+ 浏览量

开启您的 职业生涯

完成课程并取得认证

开始
广告