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

前端之家收集整理的这篇文章主要介绍了regex – 如何对字符串执行Perl替换,同时保留原始?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Perl中,使用正则表达式对字符串执行替换并将值存储在不同变量中而不更改原始值的好方法是什么?

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

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

解决方法

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

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

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

猜你在找的Perl相关文章