zoukankan      html  css  js  c++  java
  • php提取字符串中的数字

    原文出处

    第一种方法:

    function findNum($str=''){
        $str=trim($str);
        if(empty($str)){return '';}
        $reg='/(d{3}(.d+)?)/is';//匹配数字的正则表达式
        preg_match_all($reg,$str,$result);
        if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
            return $result[1][0];
        }
        return '';
    }
    

     测试结果:

    <?php
    
    $v_str_before="www.163.com";   //不好意思,此处用网易的域名举例
    
    $v_str_after=findNum($v_str_before);
    
    echo $v_str_before."</br>";
    echo "找出数字</br>";
    echo $v_str_after."</br>";
    
    function findNum($str=''){
        $str=trim($str);
        if(empty($str)){return '';}
        $reg='/(d{3}(.d+)?)/is';//匹配数字的正则表达式
        preg_match_all($reg,$str,$result);
        if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
            return $result[1][0];
        }
        return '';
    }
    ?>
    

     如图所示:

    第二种方法:

    function findNum($str=''){
        $str=trim($str);
        if(empty($str)){return '';}
        $temp=array('1','2','3','4','5','6','7','8','9','0');
        $result='';
        for($i=0;$i<strlen($str);$i++){
            if(in_array($str[$i],$temp)){
                $result.=$str[$i];
            }
        }
        return $result;
    }
    

      测试结果:

    <?php
    
    $v_str_before="www.163.com";   //不好意思,此处用网易的域名举例
    
    $v_str_after=findNum($v_str_before);
    
    echo $v_str_before."</br>";
    echo "找出数字</br>";
    echo $v_str_after."</br>";
    
    function findNum($str=''){
        $str=trim($str);
        if(empty($str)){return '';}
        $temp=array('1','2','3','4','5','6','7','8','9','0');
        $result='';
        for($i=0;$i<strlen($str);$i++){
            if(in_array($str[$i],$temp)){
                $result.=$str[$i];
            }
        }
        return $result;
    }
    ?>
    

     效果跟上面一样!

    第三种方法:

    function findNum($str=''){
        $str=trim($str);
        if(empty($str)){return '';}
        $result='';
        for($i=0;$i<strlen($str);$i++){
            if(is_numeric($str[$i])){
                $result.=$str[$i];
            }
        }
        return $result;
    }
    

     测试结果:

    <?php
    
    $v_str_before="www.163.com";   //不好意思,此处用网易的域名举例
    
    $v_str_after=findNum($v_str_before);
    
    echo $v_str_before."</br>";
    echo "找出数字</br>";
    echo $v_str_after."</br>";
    
    function findNum($str=''){
        $str=trim($str);
        if(empty($str)){return '';}
        $result='';
        for($i=0;$i<strlen($str);$i++){
            if(is_numeric($str[$i])){
                $result.=$str[$i];
            }
        }
        return $result;
    }
    
    ?>
    

      效果跟上面一样!

    特别谢谢此文的原作者。

  • 相关阅读:
    生成不带签名(BOM)的UTF8格式的XML
    矢量数据的裁剪及合并
    使用dotNET_Reactor4.7加密后的dll在VS2010中无法打包
    加密后的程序在Win8中无法运行
    修改jpg的图片大小
    shapefile中dbf的数据格式(转载)
    shapefile 输出的地理处理注意事项(转载)
    linxu下面的绝对路径和相对路径
    go中的类型转换成interface之后如何复原
    使用docker部署一个go应用
  • 原文地址:https://www.cnblogs.com/quixon/p/4716938.html
Copyright © 2011-2022 走看看