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;
    }
    
    ?>
    

      效果跟上面一样!

    特别谢谢此文的原作者。

  • 相关阅读:
    luogu P1979 华容道
    bzoj1096: [ZJOI2007]仓库建设
    bzoj3437: 小P的牧场
    bzoj1597: [Usaco2008 Mar]土地购买
    bzoj3156: 防御准备
    Miller-Rabin与Pollard-Rho备忘
    [PKUSC2018]星际穿越(倍增)
    [PKUSC2018]神仙的游戏(FFT)
    [PKUSC2018]最大前缀和(DP)
    [BZOJ5465][APIO2018]选圆圈(KD-Tree)
  • 原文地址:https://www.cnblogs.com/quixon/p/4716938.html
Copyright © 2011-2022 走看看