我知道人们通常建议尽可能避免使用正则表达式,但如果需要从字符串中剥离20个左右的字符,该怎么办?
这样做会不会更具成本效益?
$string = "...";
$a = array('a', '1', '!' ...);
foreach($a as $char){
$string = str_replace($char, '', $string);
}或者使用正则表达式会更好
$string = preg_replace('#[a1!...]#', '', $string);谢谢!
发布于 2012-07-03 06:39:17
首先,str_replace()支持针数组和大堆数组,所以在循环中运行它只是一个额外的过程。另外,我要说的是,作为对正则表达式、字符串和字符串的回应。我几乎在所有的情况下都是一串接一串的。正则表达式可以给出假阳性,也可以给出阳性否定。如果没有正确的表述,可能很快就会变得令人沮丧。谨慎地使用它,正则表达式也增加了更多的进程,因为它必须匹配或不匹配给定的规则。其中,as string to string是指它是否匹配它匹配。
但这只是我对这件事的看法。
https://stackoverflow.com/questions/11302043
复制相似问题