lua字符串获取第N个数字

我想在一个字符串中找到第N个数字。我应该使用string.find吗?如果是这样,该怎么做?我知道参数是要搜索的字符串和要查找的模式,但第三个参数(从哪里开始)似乎可能会奏效。 我正在查看的Lua字符串教程

谢谢!

点赞
用户308010
用户308010

你需要创建一个函数将字符串拆分成数组。一旦这样做了,你就可以返回你寻找的任何位置上的数字。

function findnth(str, nth)
  local array = {}
  for i in string.gmatch(str, "%d+") do
    table.insert(array, i)
  end
  return array[nth]
end

上述函数的使用方法如下:

print(findnth("1 3 7 2 15 2", 4))

返回值:

2

编辑:更改了函数以适应 OP 的特定需求。

2014-02-23 09:47:41