PHP剥一个字符串

时间:2012-01-24 21:42:51

标签: php string

我在PHP中有一个字符串($string),我想删除所有字符串:

  • 数字
  • Spaces
  • 逗号

最好和最简单的方法是什么?

5 个答案:

答案 0 :(得分:1)

正则表达式

$str = preg_replace('/\d|\s|,/', '', $str)

答案 1 :(得分:1)

您可以使用preg_replace()

轻松完成此操作
$new_str = preg_replace('/[\d\s,]/', '', $str);

如果您计划将来使用正则表达式,那么查看regular expression tutorial可能是一个好主意。

答案 2 :(得分:0)

您可以使用正则表达式替换函数:

$string = preg_replace('#[\d\s,]#', '', $string);

您可以在此处找到有关正则表达式语法的大量信息:http://www.php.net/manual/en/reference.pcre.pattern.syntax.php

答案 3 :(得分:0)

$string = preg_replace('#( pm|[0-9 ]+)#', '', $string);

编辑: OP最初要求删除短语“pm”,并且不包含逗号。

答案 4 :(得分:0)

最有效的方法是使用str_replace()

$string = 'Hello, World! abc123abc';
$match  = '123456789, '; // All characters that should be removed
$result = str_replace(str_split($match), '', $string);
// $result = 'HelloWorld!abcabc';

这样做,首先将字符串'123456789, '拆分为所有字符(array('1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ',' ' '))的数组,并使用str_replace()将每个数组值替换为空字符串

恕我直言,如果你不熟悉正则表达式(像preg_replace()这样的函数),这也是最简单的方法,而且它也比它的正则表达式更快({1}的每1百万次操作2.75秒在我的计算机上与str_replace()对比4.15。