假设我有这个字符串:
$string = "Hello! 123 How Are You? 456";
我想将变量$int
设置为$int = 123456;
我该怎么做?
示例2:
$string = "12,456";
必需:
$num = 12456;
谢谢!
答案 0 :(得分:28)
正确的变体将是:
$string = "Hello! 123 How Are You? 456";
$int = intval(preg_replace('/[^0-9]+/', '', $string), 10);
答案 1 :(得分:4)
您可以使用此方法仅选择文字中的数字
function returnDecimal($text) {
$tmp = "";
for($text as $key => $val) {
if($val >= 0 && $val <= 9){
$tmp .= $val
}
}
return $tmp;
}
答案 2 :(得分:1)
使用此正则表达式!\d!
<?php
$string = "Hello! 123 How Are You? 456";
preg_match_all('!\d!', $string, $matches);
echo (int)implode('',$matches[0]);
答案 3 :(得分:1)
您可以使用以下内容:
$array = [];
preg_match_all('/-?\d+(?:\.\d+)?+/', $string, $array);
其中$ string是输入的字符串,$ array是加载每个数字(不是数字!,包括负值!)的地方,可用于不同的操作。
答案 4 :(得分:-1)
<?php
$string = "ABC100";
preg_match_all('!\d+!', $string, $matches);
$number = $matches[0][0];
echo $number;
?>
输出: 100