Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Perl将26个字符替换为数字_Regex_Perl_Tr - Fatal编程技术网

Regex Perl将26个字符替换为数字

Regex Perl将26个字符替换为数字,regex,perl,tr,Regex,Perl,Tr,我想用数字替换字符串 例如(窗户上有一个衬里): 结果是: 12345678999999999999999999 这一直持续到9,但如何在字符I之后分配数字对应项? 我想知道如何将2号符号分配给1号符号 比如说, 12 -> j, 13 -> k, etc. 要确定数值,分配是有意义的 "1-", "2-", ... "25-", "26". 不幸的是,我不相信tr//能做到这一点——这是一对一的字符替换。因此,你必须走很长的路: my %indicies = map {

我想用数字替换字符串

例如(窗户上有一个衬里):

结果是:

12345678999999999999999999  
这一直持续到9,但如何在字符I之后分配数字对应项?
我想知道如何将2号符号分配给1号符号

比如说,

12 -> j, 13 -> k, etc.
要确定数值,分配是有意义的

"1-", "2-", ... "25-", "26". 

不幸的是,我不相信
tr//
能做到这一点——这是一对一的字符替换。因此,你必须走很长的路:

my %indicies = map { $_ => (ord($_) - ord('a')) + 1 } ('a' .. 'z');
my $result = join '', map { $indicies{$_} } split(//, $string);

不幸的是,这不是一行。

我不相信
tr///
能做到这一点。不幸的是,这是一对一的字符替换。因此,你必须走很长的路:

my %indicies = map { $_ => (ord($_) - ord('a')) + 1 } ('a' .. 'z');
my $result = join '', map { $indicies{$_} } split(//, $string);
perl -E"$_ = 'abcdefghijklmnopqrstuvwxyz'; s/([a-z])/ord($1)-96/ge; say;"
不幸的是,这不是一条直线

perl -E"$_ = 'abcdefghijklmnopqrstuvwxyz'; s/([a-z])/ord($1)-96/ge; say;"
或者如果你有5.14+

perl -E"say 'abcdefghijklmnopqrstuvwxyz' =~ s/([a-z])/ord($1)-96/ger;"
您可以替换任何规则,而不是
ord($1)-96

或者如果你有5.14+

perl -E"say 'abcdefghijklmnopqrstuvwxyz' =~ s/([a-z])/ord($1)-96/ger;"

您可以用任何规则代替
ord($1)-96

,谢谢。我不知道ord()。有没有可能在连字符处得到1-2-3-4….-26-?@giordano
s///
的第二部分只是Perl代码。所以
(ord($1)-96)。”。谢谢。我不知道这样使用括号是可能的。现在我明白了“justperl”的意思:它不是regex语法。非常感谢。就这样,非常感谢。我不知道ord()。有没有可能在连字符处得到1-2-3-4….-26-?@giordano
s///
的第二部分只是Perl代码。所以
(ord($1)-96)。”。谢谢。我不知道这样使用括号是可能的。现在我明白了“justperl”的意思:它不是regex语法。非常感谢。谢谢你的信息和代码。这对于类似的问题是有帮助的。谢谢你的信息和代码。这对于类似的问题是有帮助的。