尝试将价格为“2 200,00”(不带引号)的字符串转换为2200.
$result = preg_replace("/([^0-9,]s)/iu","", $result);
不起作用。可以用sombody帮忙吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
s
有什么好处?并且也不需要括号。试试
$result = preg_replace("/[^0-9,]+/iu","", $result);
可能更好地只观看whitspace
$result = preg_replace("/\w+/iu","", $result);
+
表示匹配一个或多个,即如果有多个空格,则会立即匹配。
答案 2 :(得分:1)
尝试
$result = preg_replace("/[,\s+]/iu","", $result);
答案 3 :(得分:0)
您可以使用intval
和str_replace
代替preg_replace
执行此操作。
// Results in 2200 (without decimals)
$result = intval(str_replace(' ', '', $result));
答案 4 :(得分:0)
这不需要正则表达式。
$number = '2 200,00';
echo str_replace(array(' ', ','), '', substr($number, 0, strrpos($number, ',')));
(如果数字字符串总是包含逗号)