[置顶] Lua学习教程之 spilt函数的实现

在java中,很容易使用正则表达式将一个字符串分割,下面使用Lua实现spilt函数

方法一:

local spilt=function (str,pattern)

	local ret={};
	local _pattern= "[^"..pattern.. "]+";

	for s in string.gfind(str,_pattern) do

		table.insert(ret,s);

	end

	return ret;

end



方法二:

local spilt = function(str,pattern)
    local ret= {}
    string.gsub(str, "[^".. pattern .."]+", function(item) table.insert(ret, item) end )
    return  ret;
end



测试代码如下:

local a="a.zip;b.zip";
local f=spilt(a,";");
for _, s in ipairs(f) do
    print(s)
end


打印结果:

a.zip

b.zip



注意:lua可能因为库版本的问题,gsub不能用时改为gmatch即可

你可能感兴趣的:(实现,lua,spilt)