我想知道什麼是最快的方式來替換字符串中的某些字符什麼都不是。我現在有以下幾點:最快的方法來替換字符串中的一系列字符
$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秒