我在PHP中有一个字符串($string
),我想删除所有字符串:
最好和最简单的方法是什么?
答案 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。