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

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

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

(0)

相关推荐

  • php中的strpos使用示例

    定义和用法该strpos()函数返回的立场,首次出现了一系列内部其他字串. 如果字符串是没有发现,此功能返回FALSE . 语法 复制代码 代码如下: strpos(string,find,start) 注: strpos()函数是区分大小写的. 复制代码 代码如下: <?phpecho strpos("Hello world!","wo");?> 结出结果:6

  • php根据指定位置和长度获得子字符串的方法

    本文实例讲述了php根据指定位置和长度获得子字符串的方法.分享给大家供大家参考.具体分析如下: php的substr函数功能非常强大,不断可以从前往后去子字符串还可以从后往前取字符串 <?php $string = "beginning"; print("Position counted from left: ".substr($string,0,5)."\n"); print("Position counted form rig

  • php下使用strpos需要注意 === 运算符

    复制代码 代码如下: <?php /* 判断字符串是否存在的函数 */ function strexists($haystack, $needle) { return !(strpos($haystack, $needle) === FALSE);//注意这里的"===" } /* Test */ $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); // Note our use of ===.

  • php实现子字符串位置相互对调互换的方法 原创

    本文实例讲述了php实现子字符串位置相互对调互换的方法.分享给大家供大家参考,具体如下: <?php /*子字符串位置互换 */ $str1="Tom"; $str2="Jack"; $str="This is an example,you see Tom tell Jack something"; function str_change($str,$str1,$str2){ $len1=strlen($str1); $len2=strle

  • php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创

    本文实例讲述了php使用strpos判断字符串中数字类型子字符串出错的解决方法.分享给大家供大家参考,具体如下: 一.问题: 最近的开发中在程序代码里有一个随机数是否在给定字符串里的判断,我用了如下的测试代码: $string='中奖号码:3'; $numtmp=mt_rand(1,10); if(strpos($string,$numtmp)!==false){ echo "恭喜中奖!中奖号码:".$numtmp; }else{ echo "谢谢!欢迎再来,中奖号码不是&q

  • php通过strpos查找字符串出现位置的方法

    本文实例讲述了php通过strpos查找字符串出现位置的方法.分享给大家供大家参考.具体分析如下: strpos用来查找一个字符串在另一个字符串中首次出现的位置,strpos区分大小写,如果没有找到则返回false,所以strpos有两种类型的返回值,一种是整形,一种是bool型,开发过程中需要注意 <?php echo strpos("Hello world!","wo"); ?> 输出结果:6 由于strpos有两种类型的返回值,所以在判断是否找到子

  • php实现指定字符串中查找子字符串的方法

    本文实例讲述了php实现指定字符串中查找子字符串的方法.分享给大家供大家参考.具体分析如下: 对strpos()函数可以用来在php中查找子字符串.strpos()函数将试图找到子字符串在源字符串中首次出现的位置.如果找到了,它会返回一个非负整数表示子字符串出现的位置. 否则它会返回一个布尔值false. <?php $haystack1 = "2349534134345w3mentor16504381640386488129"; $haystack2 = "w3men

  • PHP中使用strpos函数实现屏蔽敏感关键字功能

    现在网络信息监管很严格,特别是屏蔽关键字.特别是现在WEB2.0时代,网站的内容几乎都是来自网民发布,站长管理即可.如果你希望别人在你站点禁止发布某个关键字,那么就需要预先做处理.用PHP做关键字屏蔽的功能样式有多种多样,如正则是最普遍的一种,这里就不一一例举,本文介绍使用PHP函数strpos屏蔽关键字的功能. 思路: 一.把关键字专门写在一个文本文件里,每行一个,数量不限,有多少写多少. 二.PHP读取关键字文本,存入一个数组 三.遍历关键字数组,挨个用strpos函数去看看内容有没有关键字

  • PHP中strpos、strstr和stripos、stristr函数分析

    本文为大家分析了 PHP中strpos.strstr和stripos.stristr函数,供大家参考,具体内容如下 strpos mixed strpos ( string $haystack, mixed $needle [, int $offset = 0 ] ) 如果offset指定了,查找会从offset的位置开始.offset不能为负数. 返回needle第一次出现在haystack的位置.如果在haystack中找不到needle,则返回FALSE. needle,如果needle不

  • PHP字符串中插入子字符串方法总结 原创

    本文实例讲述了PHP字符串中插入子字符串方法.分享给大家供大家参考,具体如下: 首先来看看一个网上常见的方法: 方法一:字符串遍历 function str_insert($str, $i, $substr) { for($j=0; $j<$i; $j++){ $startstr .= $str[$j]; } for ($j=$i; $j<strlen($str); $j++){ $laststr .= $str[$j]; } $str = ($startstr . $substr . $la

  • php中字符查找函数strpos、strrchr与strpbrk用法

    本文实例讲述了php中字符查找函数strpos.strrchr与strpbrk用法.分享给大家供大家参考.具体如下: ① strpos() 函数返回字符串在另一个字符串中第一次出现的位置,如果没有找到该字符串,则返回 false. 语法:strpos(string,find,start),代码如下: 复制代码 代码如下: $str="hello world";          //定义字符串1 $result=strpos($str,"ll");        

  • php使用substr()和strpos()联合查找字符串中某一特定字符的方法

    本文实例讲述了php使用substr()和strpos()联合查找字符串中某一特定字符的方法.分享给大家供大家参考.具体分析如下: 要求:在下面的字符串中查找双竖线前面的字符,大多数清空下使用explode()函数,但项目过程中使用了太多的explode(),所以找到了下面的方法. <?php $str="admin||46cc468df60c961d8da2326337c7aa58||0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,";

随机推荐