天天看点

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

在来写一个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

测试如下图所示:

php strpos实现方法,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

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

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

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