找到数字后如何获取字符串的剩余部分

时间:2020-03-13 07:36:28

标签: php

找到数字后如何获得字符串的剩余部分。

例如1)hello12cool4here

输出应为:2cool4here

例如2)hel3lo12cool4here

输出应为:lo12cool4here

2 个答案:

答案 0 :(得分:1)

您可以遍历所有字符并测试它们是否为数字,并在找到第一个字符时返回:

$str='hello12cool4here';

for( $i=0; $i< strlen( $str ); $i++ ){
    if( is_numeric( substr($str,$i,1) ) )exit( substr( $str, $i+1 ) );
}

或将其放入函数中

function findremainder( $str ){
    for( $i=0; $i< strlen( $str ); $i++ ){
        if( is_numeric( substr($str,$i,1) ) )return( substr( $str, $i+1 ) );
    }
    return $str;
}


echo findremainder( $str );

答案 1 :(得分:1)

使用正则表达式:

preg_match('/^\D*\d(.*)/', 'hello12cool4here', $matches);
echo($matches[1]);    // 2cool4here
preg_match('/^\D*\d(.*)/', 'hel3lo12cool4here', $matches);
echo($matches[1]);    // lo12cool4here
preg_match('/^\D*\d(.*)/', '42lo12cool4here', $matches);
echo($matches[1]);    // 2lo12cool4here