perl6用s ///同时替换?

前端之家收集整理的这篇文章主要介绍了perl6用s ///同时替换?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法用s ///同时进行替换?例如,如果我有一个带有1s,2s,3s等数字的字符串,我想用“tom”替换1,用“mary”替换2,用“jane”等替换3?
my $a = "13231313231313231";
say $a ~~ s:g/1/tom/;
say $a ~~ s:g/2/mary/;
say $a ~~ s:g/3/jane/;

有没有一个好方法一次完成所有3个步骤?

谢谢 !!!

lisprog

解决方法

对于像您的示例那样的替换,您可以使用 trans.提供要搜索内容列表和替换列表:
my $a = "13231313231313231";
$a .= trans(['1','2','3'] => ['tom','mary','jane']);
say $a; 
tomjanemaryjanetomjanetomjanemaryjanetomjanetomjanemaryjanetom

对于简单的字符串,您可以使用单词引用简化:

$a .= trans(<1 2 3> => <tom mary jane>);
原文链接:https://www.f2er.com/Perl/172046.html

猜你在找的Perl相关文章