如何在Perl中翻译字符串中的字符?

时间:2014-08-29 21:13:24

标签: regex string perl

我有两个字符串:

my($normal_alphabet) = 'abcdefghijklmnopqrstuvwxyz';

my($crazy_alphabet) = 'qwertyuioplkjhgfdsazxcvbnm';

我还有一个字符串,这是一个句子:

my($sentence) = 'The quick brown fox jumped over the lazy dog.'

我需要使用上面提供的两个字符串翻译句子。基本上$normal_alphabet中每个字母的出现都应该用$crazy_alphabet中的匹配字符替换。

a - > q

b - >瓦特

等等。

PHP中有一个名为strtr的函数可以轻松完成此任务。

PERL是否与此相当,如果没有,我该如何翻译字符串?

1 个答案:

答案 0 :(得分:3)

使用tr翻译字符:

my $sentence = 'The quick brown fox jumped over the lazy dog.';

$sentence =~ tr{abcdefghijklmnopqrstuvwxyz}
               {qwertyuioplkjhgfdsazxcvbnm};

print $sentence, "\n";

输出:

Tit dxoel wsgvh ygb pxjftr gcts zit kqmn rgu.