微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

regex – 如何对字符串执行Perl替换,同时保留原始?

在Perl中,使用正则表达式对字符串执行替换并将值存储在不同变量中而不更改原始值的好方法是什么?

我通常只是复制字符串到一个新的变量,然后绑定到s / / regex,替换在新的字符串,但我想知道是否有更好的方法来做到这一点?

$newstring = $oldstring;
$newstring =~ s/foo/bar/g;

解决方法

这是我一直用来获得一个字符串的修改副本,而不改变原来的习语:
(my $new = $original) =~ s/foo/bar/;

在perl 5.14.0或更高版本中,可以使用new / r non-destructive substitution modifier:

my $new = $old =~ s/foo/bar/r;

原文地址:https://www.jb51.cc/Perl/173589.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐