如何对字符串进行子串运算,直到字符不是数字


How to substring a string until a char is not a number

具有类似的字符串

$string ="1 something here";
$string2=" 345 other string";

如何删除作为数字的第一个字符?

我知道有一个功能

$str = "The quick brown fox jumps over the lazy dog."
$str2 = substr($str, 4);  

这将删除前4个字符。。

使用regexp可以非常简单地完成此操作,如下所示:

<?php
      $string ="1 something here";
      $string2=" 345 other string";
      //Pattern matches every number and space char in the beginning of the string
      $pattern = "/^(['s0-9]*)/";
      //echos output
      echo preg_replace($pattern, "",$string);
      echo preg_replace($pattern, "",$string2);
?>

您可以使用正则表达式:

$pattern = '/^([0-9 ]+)(.*)$/';
echo preg_replace($pattern, '$2', trim($string2));

不带正则表达式:

function x($str){
   for($i=0;$i<strlen($str);$i++){
      if(is_numeric ($str{$i}) )
         return substr($str,0, $i);
                 //or substr($str, $i+1); to get from the number until end
   }
   return $str;
}