Perl String – 替换字符而不形成新变量

前端之家收集整理的这篇文章主要介绍了Perl String – 替换字符而不形成新变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以替换字符串的一部分而不必创建一个全新的变量?

现在我这样做:

$someString = "how do you do this";
$someString = s/how do/this is how/;

我想要做的是保留原始字符串($someString)并能够替换几个字符而无需修改原始字符串.我更熟悉Javascript,我可以在你的代码中这样做,而无需创建/修改变量.

someString.replace(/how do/,"this is how")

任何帮助表示赞赏,非常感谢

解决方法

请注意我完全理解这个问题.如果要保持原始字符串不变,则需要创建一个新变量.
$newstring = $someString ;
$newstring =~ s/how do/this is how/;

请注意,运算符= = not =

另外我想我现在看到你想要的东西 – 返回更改的字符串而不是修改变量.在Perl 5.14中有一种方法可以做到这一点,但我目前还不知道一种方法.见Use the /r substitution flag to work on a copy The Effective Perler.

更新
s / / / r functionallity已经在Perl中发布了一段时间.你可以做

use 5.14.0 ;
my $someString = "how do you do this";
say ($someString =~ s/how do/this is how/r) ;
原文链接:https://www.f2er.com/Perl/171940.html

猜你在找的Perl相关文章