PHP - 从字符串中删除所有非数字字符

2022-08-30 07:28:08

我这样做的最佳方式是什么?我应该使用正则表达式还是可以使用另一个内置的PHP函数?

例如,我想要:成为. 成为,成为,等等。12 months12Every 6 months61M1


答案 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,.]/"


答案 2

用于匹配非数字字符。\D

preg_replace('~\D~', '', $str);

推荐