我想从字符串中提取一个数字,字符串就像1,239 peoples
。我需要从上面的字符串输出1239
。我使用以下便宜的方法来提取该数字....
$text='1,239 peoples';
$text=str_replace(',','',$text);
preg_match_all('!\d+!', $text, $matches);
echo $matches[0][0];
有没有更好的解决方案......提前谢谢...
答案 0 :(得分:2)
你可以用字母替换字符串中不是数字的所有内容,这样就会给你一个只有数字的字符串。
$string = preg_replace("/[^\d]/", "", $string);
echo $string;
答案 1 :(得分:1)
更安全的方法是首先在之后提取您想要的内容,并且只有在为其提供良好格式之后,例如:
if (preg_match('~\d+(?:,\d+)*(?:\.\d+)?~', $string, $match))
$result = str_replace(',', '', $match[0]);
答案 2 :(得分:0)
//This will replace anything that is not a number with a blank string.
$number = preg_replace("#[^0-9]*#", "", "1,123");
小心“1,233.90”到。