如何从Lua字符串中提取数字?

我无法找到如何在Lua中进行简单正则表达式搜索。在任何正常语言中,它应该是:

string:match( "($1,000)", "[\d]+")

它将返回: 1000(如果您连接匹配项)。

我认为string.match( "($1,000)", "%d+") )会做这个工作,但它会返回nil或1。

我不理解它。

点赞
用户3832970
用户3832970

你可以使用 string.gsub 移除所有符合 %D+(一个或多个非数字字符)模式的匹配项:

s = "($1,000)"
res, _ = s:gsub("%D+", "")
print(res)
-- => 1000

请参见 Lua demo

2017-12-12 07:50:49