PHP - 从字符串中删除所有非数字字符
我这样做的最佳方式是什么?我应该使用正则表达式还是可以使用另一个内置的PHP函数?
例如,我想要:成为. 成为,成为,等等。12 months
12
Every 6 months
6
1M
1
我这样做的最佳方式是什么?我应该使用正则表达式还是可以使用另一个内置的PHP函数?
例如,我想要:成为. 成为,成为,等等。12 months
12
Every 6 months
6
1M
1
在这种情况下,您可以使用preg_replace;
$res = preg_replace("/[^0-9]/", "", "Every 6 Months" );
在这种情况下,$res返回 6。
如果还想包括小数分隔符或千位分隔符,请检查此示例:
$res = preg_replace("/[^0-9.]/", "", "$ 123.099");
在这种情况下,$res返回“123.099”
包括句点作为小数分隔符或千位分隔符:“/[^0-9。/"
将昏迷作为小数分隔符或千位分隔符:“/[^0-9,]/”
包括句点和昏迷作为小数分隔符和千位分隔符:“/[^0-9,.]/"
用于匹配非数字字符。\D
preg_replace('~\D~', '', $str);