1

我知道通常建议尽可能避免使用正则表达式,但是如果有一个包含 20 个左右字符的列表需要从字符串中剥离怎么办?

做类似的事情会更划算吗

$string = "...";

$a = array('a', '1', '!' ...);

foreach($a as $char){
    $string = str_replace($char, '', $string);

}

还是使用正则表达式会更好

$string = preg_replace('#[a1!...]#', '', $string);

谢谢!

4

1 回答 1

0

首先关闭str_replace()支持针和干草堆的数组,因此通过循环运行它只是额外的过程。我还要回答正则表达式 vs 字符串 vs 字符串。在几乎所有情况下,我都会逐串进行。正则表达式可以给出误报和正负。如果配方不正确,那么很快就会变得令人沮丧。谨慎使用它,正则表达式也增加了更多的过程,因为它必须匹配或不匹配给定规则的某些内容。字符串到字符串的位置是否匹配。

但这只是我对此事的看法。

于 2012-07-02T22:39:17.473 回答