使用regex删除特定的符号


remove a specific sign with regex


我想知道如何从这样的字符串中删除"问号字符":

8�901.9631

我想使用正则表达式。我正在尝试使用这个正则表达式:

#('d+).('d+(?:'.'d{1,4})?)#

但它不起作用。

如果你知道所有其他字符都是数字和句点,你可以这样做:

$string = '8�901.9631';
$new_string = preg_replace('/[^'d'.]/', '', $string);
echo $new_string; //8901.9631

基本上,这是删除所有而不是[^ ])、数字('d)或周期('.)的内容。

如果需要清理字符串并将其转换为float,可以使用filter_var方法,例如:

filter_var($string, FILTER_SANITIZE_NUMBER_FLOAT);