我有一个非常简单的问题,但我的谷歌研究没有帮助..我对Lua很新,所以......
我将字符串“XXXX_YYYYYY_zzzzzz”存储在局部变量中,我想解析它并获得3个新的局部变量。我应该使用string.find吗?
local str_ = "XXXX_YYYYY_zzzzzz"
local first_, second_, third_ = strind.find(str_, "^(%w+)_(%w+)_(%w+)$")
答案 0 :(得分:5)
改为使用string.match
:
local str_ = "XXXX_YYYYY_zzzzzz"
local first_, second_, third_ = str_:match "^([^_]+)_([^_]+)_([^_]+)$"
查看string library on lua-users wiki。
string.find
还会返回匹配的子字符串所在的索引。这两个(开始和结束)索引对您的情况没有用,这就是为什么string.match
会成为更好的工具。