0

PHP では、strtr配列の入力を受け入れ、文字列内のすべてのキーの出現を置き換えることができ、最も長いキーが最初に試行されます。

Perlに同等の機能はありますか?

4

2 に答える 2

7

うん、単純な正規表現:

# Where %h contains your key => value mappings
my $keys = join '|', sort {length($b) <=> length($a)} keys %h;
$a =~ s/($keys)/$h{$1}/g;
于 2011-02-20T10:49:40.460 に答える
3

評価する正規表現を手動で作成するのではなく、次のようにData:: Munge の list2re 関数を使用します。

my $re = list2re sort {length($b) <=> length($a)} keys %h;
$a =~ s/($re)/$h{$1}/g;
于 2011-02-20T23:35:22.573 に答える