替换字符串中一系列字符的最快方法

时间:2011-11-17 14:45:24

标签: php replace preg-replace str-replace

我想知道用什么都没有替换字符串中某些字符的最快方法是什么。我现在有以下内容:

$omschrijving = str_replace(")", "", str_replace("(", "", $line)));

有更好的方法吗?这只是替换"("")",但如果我想对更多字符执行相同操作,该怎么办呢?仍在学习preg_方法,但目前还是有点令人兴奋。

5 个答案:

答案 0 :(得分:3)

你走了:

str_replace(array('a', 'b', 'c', 'd'), '', $sString);

来自the manual

  

替换找到的搜索值的替换值。一个   数组可用于指定多个替换。

答案 1 :(得分:2)

str_replace也可以将数组作为参数。

$omschrijving = str_replace(array('(', ')'), '', $line);

答案 2 :(得分:1)

没问题

$omschrijving = str_replace(array('a', 'b', 'c', 'd', 'e', 'f', 'g'), "", $line);

str_replace将数组视为第一和第二个参数。

您还可以使用strtrsubstr_replacepreg_replace将字符串部分替换为其他内容。

答案 3 :(得分:1)

这将使用preg_replace做你想要的。

$string = preg_replace('/[()]/i', '', $string);

如果要添加其他内容,只需在方括号中添加,这将替换字符串中'('和')'的所有实例。

例如,添加替换所有破折号,只需将其添加到替换字符串。

$string = preg_replace('/[()-]/i', '', $string);

或者也替换所有下划线。

$string = preg_replace('/[()_-]/i', '', $string);

希望这有帮助。

答案 4 :(得分:1)

根据我的基准测试,一次替换1或2个字符时必须使用str_replace。每当您要替换3个或更多字符时,preg_replace效率更高。

我使用了这个benchmark protocole,修改它以便接受各种字符而不是一个。

对于3个字符,结果如下:

  

str_replace的时间:1.919958114624秒preg_replace的时间:   1.4596478939056秒