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()、針と干し草の山の両方の配列をサポートしているため、ループを介して実行するのは単なる追加のプロセスです.. ほとんどすべての場合、文字列から文字列へと移動します。正規表現は、偽陽性と陽性陰性を与える可能性があります。正しく処方されていないと、すぐにイライラすることがあります. 控えめに使用すると、正規表現は、指定されたルールに一致するか一致しない必要があるため、より多くのプロセスを追加します。文字列から文字列への場合は、一致する場合は一致します。

しかし、これはこの問題に関する私の意見です。

于 2012-07-02T22:39:17.473 に答える