我想知道什么是最快的方式来替换字符串中的某些字符什么都不是。我现在有以下几点:最快的方法来替换字符串中的一系列字符
$omschrijving = str_replace(")", "", str_replace("(", "", $line)));
有没有更好的方式来做到这一点?这只是取代"("
和")"
,但是如果我想对更多字符做同样的操作。仍然在学习preg_
方法,但目前仍然有点令人兴奋。
我想知道什么是最快的方式来替换字符串中的某些字符什么都不是。我现在有以下几点:最快的方法来替换字符串中的一系列字符
$omschrijving = str_replace(")", "", str_replace("(", "", $line)));
有没有更好的方式来做到这一点?这只是取代"("
和")"
,但是如果我想对更多字符做同样的操作。仍然在学习preg_
方法,但目前仍然有点令人兴奋。
在这里你去:
str_replace(array('a', 'b', 'c', 'd'), '', $sString);
替换值替换找到的搜索值。一个 阵列可能被用来指定多个替换。
str_replace
也可以将数组作为参数。
$omschrijving = str_replace(array('(', ')'), '', $line);
没有问题
$omschrijving = str_replace(array('a', 'b', 'c', 'd', 'e', 'f', 'g'), "", $line);
str_replace
accpets数组作为第一和第二参数。
您还可以使用strtr
,substr_replace
或preg_replace
来替换其他字符串部分。
这将使用preg_replace来做你想做的事。如果你想添加别的东西只是方括号中添加它
$string = preg_replace('/[()]/i', '', $string);
这将替换字符串“(”和“)”的所有实例。
例如,要添加替换所有破折号以及将其添加到替换字符串。
$string = preg_replace('/[()-]/i', '', $string);
还可以替换所有的下划线。
$string = preg_replace('/[()_-]/i', '', $string);
希望这会有所帮助。
根据我的基准测试,在同时替换1或2个字符时,您必须使用str_replace
。无论何时您需要替换3个或更多字符,preg_replace
会更有效率。
我用这个benchmark protocole,修改它,使它接受各种字符,而不是一个。
为3个字符,这里的结果:
时间为str_replace函数:1.919958114624秒时间为preg_replace函数: 1.4596478939056秒