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

时间:2022-09-16 12:21:32

在来写一个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()函数

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