Lua的string.find命令的正确格式是什么?

我有一个非常简单的问题,但我的谷歌研究没有帮助。我对Lua非常陌生,所以..我有一个存储在本地变量中的字符串"XXXX_YYYYY_zzzzzz",我想解析它并获取3个新的本地变量。我应该使用string.find吗?

local str_ = "XXXX_YYYYY_zzzzzz"
local first_, second_, third_ = string.find(str_, "^(%w+)_(%w+)_(%w+)$")
点赞
用户1190388
用户1190388

使用 string.match

local str_ = "XXXX_YYYYY_zzzzzz"
local first_, second_, third_ = str_:match "^([^_]+)_([^_]+)_([^_]+)$"

请查看lua-users wiki上的字符串库

string.find会额外返回匹配的子字符串的索引和位置。这两个(开始和结束)索引对于您的情况没有用处,因此string.match是更好的工具。

2015-11-12 13:29:29