Lua string.find正确的格式?

时间:2015-11-12 13:27:14

标签: string lua string-matching lua-patterns

我有一个非常简单的问题,但我的谷歌研究没有帮助..我对Lua很新,所以......

我将字符串“XXXX_YYYYYY_zzzzzz”存储在局部变量中,我想解析它并获得3个新的局部变量。我应该使用string.find吗?

local str_ = "XXXX_YYYYY_zzzzzz"    
local first_, second_, third_ = strind.find(str_, "^(%w+)_(%w+)_(%w+)$")

1 个答案:

答案 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会成为更好的工具。