lua 获取文件名和扩展名

local str = "aaa.bbb.bbb.txt"

--获取文件名
function getFileName(str)
    local idx = str:match(".+()%.%w+$")
    if(idx) then
        return str:sub(1, idx-1)
    else
        return str
    end
end

--获取扩展名
function getExtension(str)
    return str:match(".+%.(%w+)$")
end

ngx.say("源字符串:"..str)
ngx.say("====================")
ngx.say("文件名:"..getFileName(str))
ngx.say("====================")
ngx.say("扩展名:"..getExtension(str))

URL加码、解码

--解码
function decodeURI(s)
    s = string.gsub(s, '%%(%x%x)', function(h) return string.char(tonumber(h, 16)) end)
    return s
end

--加码
function encodeURI(s)
    s = string.gsub(s, "([^%w%.%- ])", function(c) return string.format("%%%02X", string.byte(c)) end)
    return string.gsub(s, " ", "+")
end