当前位置: 首页 > 编程笔记 >

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

巫马浩言
2023-03-14
本文向大家介绍Lua中实现php的strpos()以及strrpos()函数,包括了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  

测试如下图所示:

下面在来个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的print_r()函数功能,包括了使用lua实现php的print_r()函数功能的使用技巧和注意事项,需要的朋友参考一下 之前写了一些类似php的函数,下面再来一个print_r()函数,代码如下:

  • 本文向大家介绍使用lua实现php的var_dump()函数功能,包括了使用lua实现php的var_dump()函数功能的使用技巧和注意事项,需要的朋友参考一下 习惯了php中的var_dump()函数,而如今写lua的时候总习惯使用var_dump()函数,于是就自己动手写了一个类似功能的var_dump()函数。

  • 本文向大家介绍Lua中模块以及实现方法指南,包括了Lua中模块以及实现方法指南的使用技巧和注意事项,需要的朋友参考一下 从使用的角度来看,一个模块就是一个程序库,可以通过Lua自身提供的require来加载。然后便得到一个全局变量,表示一个table。这个table就是像一个名字空间,其内容就是模块导出的所有东西,例如函数和常量。简单的说,Lua中的模块就是一个table,table中可以包括任何

  • 本文向大家介绍PHP中使用strpos函数实现屏蔽敏感关键字功能,包括了PHP中使用strpos函数实现屏蔽敏感关键字功能的使用技巧和注意事项,需要的朋友参考一下 现在网络信息监管很严格,特别是屏蔽关键字。特别是现在WEB2.0时代,网站的内容几乎都是来自网民发布,站长管理即可。如果你希望别人在你站点禁止发布某个关键字,那么就需要预先做处理。用PHP做关键字屏蔽的功能样式有多种多样,如正则是最普遍

  • 本文向大家介绍Lua中类的实现,包括了Lua中类的实现的使用技巧和注意事项,需要的朋友参考一下 概述      一个类就是像是一个创建对象的模具,对于Lua这种没有类的概念的语言,为了模拟类,方法是为要创建的对象制定一个原型(prototype)。这个原型相当于其他语言中的类。但是原型同时也是一种常规的对象,当其他的对象(看成是原型的实例)遇到一个未知的操作时,就会去原型中查找。因此,在Lua这种

  • 问题内容: 为什么这个独立的代码不起作用: 即使变量中包含https,每次也可以打印。 问题答案: 如有疑问,请阅读文档: [strpos]返回大海捞针中第一次出现针的数字位置。 因此,您想尝试更多类似的方法: 因为否则返回一个数字,并且您正在寻找布尔值。