Lua中实现php的strpos()以及strrpos()函数

puddingpp 2019-06-13

在来写一个lua中实现php的strpos()函数,查找某个字符串在指定字符串首次出现的位置,其实lua中也为我们提供了这样的函数使用string.find()即可获得,下面我们还是简单写一个函数,代码如下:

代码如下:

function strpos (str, f)   

    if str ~= nil and f ~= nil then   

        return (string.find(str, f))   

    else  

        return nil   

    end   

end 

测试如下图所示:

Lua中实现php的strpos()以及strrpos()函数

下面在来个strrpos()函数,查找某个字符串在指定字符串最后一次出现的位置,下面我们还是简单写一下函数,代码如下:

代码如下:

function strrpos (str, f)   

    if str ~= nil and f ~= nil then   

        local t = true  

        local offset = 1  

        local result = nil   

        while (t)   

        do  

            local tmp = string.find(str, f, offset)   

            if tmp ~= nil then   

                offset = offset + 1  

                result = tmp   

            else  

                t = false  

            end   

        end   

        return result   

    else  

        return nil   

    end   

end 

测试如下图(注意:如果要查找 . 需要进行转义,使用"%."):

Lua中实现php的strpos()以及strrpos()函数

好了,今天就先到这里,以后我们继续实现其他函数功能

相关推荐