perl6用s ///同时替换?
发布时间:2020-12-15 21:53:25 所属栏目:大数据 来源:网络整理
导读:有没有办法用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/; 有没有一个好方
有没有办法用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>); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |