代码之家  ›  专栏  ›  技术社区  ›  Alex Pliutau

从字符串中删除一些数字

  •  2
  • Alex Pliutau  · 技术社区  · 14 年前

    generation_1_2
    generation_2_8
    generation_3_12
    

    如何将字符串中的数字放入变量中?

    $digit1[0] is 1.
    $digit1[1] is 2.
    $digit1[1] is 3.
    $digit1[0] is 2.
    $digit1[1] is 8.
    $digit1[2] is 12.
    

    3 回复  |  直到 14 年前
        1
  •  4
  •   fabrik    14 年前
    function ret_int($str){
        return array_slice(explode('_', $str), 1);
    }
    
        2
  •  4
  •   codaddict    14 年前

    如果要提取尾随数字,可以执行以下操作:

    if(preg_match_all('/(\d+)$/m',$input,$m)){
       // $m[1] will have all the matches.
    }
    

    working link

    编辑:

    回答已编辑的问题以提取两个数字:

    $digit = array();
    if(preg_match_all('/(\d+)\D*(\d+)$/m',$input,$m)) {
            $digit = array_merge($m[1],$m[2]);
    }
    

    Working link

        3
  •  1
  •   Martin Hennings    14 年前

    explode 就像法布里克写的那样( $arr = array_slice(explode('_', $str), 1);

    然后使用 intval $int_a = intval($str_a, 10) 哪里 $str_a 是数组中的一个字符串 $arr