Php 获取字符串中的第一个数字(如果有)
我正在寻找一种从字符串中提取第一个数字的方法。这个例子Php 获取字符串中的第一个数字(如果有),php,string,Php,String,我正在寻找一种从字符串中提取第一个数字的方法。这个例子 43 432Phill 21 432hill 21 43#1 Example 43,123 example 应该回来 43 432 432 43 43,123 我假设可以使用strpos并从a-z、a-z和#迭代指针。若要获得所有位置,请使用最低的非零值确定数字的结束点。这似乎有点过分了。有更好的方法吗 编辑:位置是稍后使用substr。如果有更好的方法让我
43
432Phill 21
432hill 21
43#1 Example
43,123 example
应该回来
43
432
432
43
43,123
我假设可以使用strpos
并从a-z、a-z和#迭代指针。若要获得所有位置,请使用最低的非零值确定数字的结束点。这似乎有点过分了。有更好的方法吗
编辑:位置是稍后使用substr。如果有更好的方法让我失望。使用正则表达式,可以从字符串中提取数字 下面的语句应该可以做到这一点:
preg\u match\u all(“~\d+~”,$string,$match)代码>
$match
是$string
中包含的数字数组。使用正则表达式,可以从字符串中提取数字
下面的语句应该可以做到这一点:
preg\u match\u all(“~\d+~”,$string,$match)代码>
$match
是$string
中包含的数字数组,如果数字从开头开始,则可以这样做:
$number = floatval($string); //it will return float e.g. 432
如果使用逗号而不是小数点,例如43123,则必须首先将其替换为点:
$string = str_replace(',', '.', '43,123 example');
如果数字从开头开始,您可以这样做:
$number = floatval($string); //it will return float e.g. 432
如果使用逗号而不是小数点,例如43123,则必须首先将其替换为点:
$string = str_replace(',', '.', '43,123 example');
如果需要从字符串中提取第一个数字,则更新问题的标题。现在它是误导性的,并且与问题相矛盾。如上所述,你想要号码还是职位。示例数据是一个字符串,还是5个?这是最快的方法。除此之外,如果您不想使用自己的解决方案,也可以使用正则表达式检查变量。如果您需要从字符串中提取第一个数字,然后更新问题的标题。现在它是误导性的,并且与问题相矛盾。如上所述,你想要号码还是职位。示例数据是一个字符串,还是5个?这是最快的方法。除此之外,如果您不想使用自己的解决方案,也可以使用正则表达式检查变量。OP并不是在寻找整个字符串的浮点值。他只需要每个字符串开头的数字,OP并不是在寻找整个字符串的浮点值。他只想在每个字符串的开头加上数字。