我想知道用什么都没有替换字符串中某些字符的最快方法是什么。我现在有以下内容:
$omschrijving = str_replace(")", "", str_replace("(", "", $line)));
有更好的方法吗?这只是替换"("
和")"
,但如果我想对更多字符执行相同操作,该怎么办呢?仍在学习preg_
方法,但目前还是有点令人兴奋。
答案 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
将数组视为第一和第二个参数。
您还可以使用strtr
,substr_replace
或preg_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秒