是否可以替换字符串的一部分而不必创建一个全新的变量?
现在我这样做:@H_301_3@
$someString = "how do you do this"; $someString = s/how do/this is how/;
我想要做的是保留原始字符串($someString)并能够替换几个字符而无需修改原始字符串.我更熟悉Javascript,我可以在你的代码中这样做,而无需创建/修改变量.@H_301_3@
someString.replace(/how do/,"this is how")
任何帮助表示赞赏,非常感谢@H_301_3@
解决方法
请注意我完全理解这个问题.如果要保持原始字符串不变,则需要创建一个新变量.
$newstring = $someString ; $newstring =~ s/how do/this is how/;
请注意,运算符= = not =@H_301_3@
另外我想我现在看到你想要的东西 – 返回更改的字符串而不是修改变量.在Perl 5.14中有一种方法可以做到这一点,但我目前还不知道一种方法.见Use the /r substitution flag to work on a copy The Effective Perler.@H_301_3@
更新
s / / / r functionallity已经在Perl中发布了一段时间.你可以做@H_301_3@
use 5.14.0 ; my $someString = "how do you do this"; say ($someString =~ s/how do/this is how/r) ;