📜  去除非数字和句点 php (1)

📅  最后修改于: 2023-12-03 15:37:05.052000             🧑  作者: Mango

去除非数字和句点 PHP

在编写 PHP 应用程序时,你可能需要处理文本数据。有时,你需要从数据中删除非数字和句点字符。在这篇文章中,我们将介绍如何使用 PHP 去除非数字和句点字符,让你的数据更干净。

方法一:使用正则表达式

使用正则表达式是去除非数字和句点字符的一种常见方法。下面是一个例子,演示如何使用正则表达式从字符串中删除非数字和句点:

$string = '1.2.3a4b5c6d.7';
$newString = preg_replace('/[^0-9\.]/', '', $string);
echo $newString;

输出:

1.2.3467
代码说明
  • 正则表达式 /[^0-9\.]/ 匹配任何非数字和句点字符。
  • preg_replace() 函数将所有匹配到的字符替换为空字符串。
  • 将新字符串赋值给变量 $newString,输出 $newString。
方法二:使用 str_replace 函数

另一种方法是使用 str_replace 函数去除非数字和句点字符。下面是一个例子:

$string = '1.2.3a4b5c6d.7';
$characters = array('a', 'b', 'c', 'd');
$newString = str_replace($characters, '', $string);
echo $newString;

输出:

1.2.34567
代码说明
  • 创建一个字符串数组 $characters 包含需要去除的非数字和句点字符。
  • 使用 str_replace 函数将数组中的字符替换为空字符串。
  • 将结果赋值给 $newString,输出。
方法三:使用 ctype_digit 函数

还有一种方法是使用 ctype_digit 函数去除字符串中非数字字符,下面是具体例子:

$string = '1.2.3a4b5c6d.7';
$newString = '';
for ($i = 0; $i < strlen($string); $i++) {
  if(ctype_digit($string[$i]) || $string[$i] == '.')
    $newString .= $string[$i];
}
echo $newString;

输出:

1.2.34567
代码说明
  • 遍历字符串,将非数字和句点字符剔除。
  • 将新字符串累加赋值给变量 $newString
  • 输出结果。
特别注意

在编写应用程序时,应当考虑到字符串中可能出现相邻的句点字符,为了避免出现bug,应该适当考虑情况,加以处理。

最后,这几种方法你可以根据你的实际情况,选择一种最适合你的方式来过滤字符串中的非数字和句点字符。