我想知道是否有一种简单/干净的方法来交换值,如下所示,也许使用单个正则表达式/替换?
如果$ a以“ x”结尾,则将其替换为“ y”。同样,如果$ a以“ y”结尾,则将其替换为“ x”:
$a = "test_x";
if ($a =~ /x$/) {
$a =~ s/x$/y/;
} else {
$a =~ s/y$/x/;
}
我只能想到这样的事情:
$a = $a =~ /x$/ ? s/x$/y/ : s/y$/x/;
最佳答案
这很简单:
$a =~ s/x$/y/ or $a =~ s/y$/x/;
进行比赛以查看是否应该进行替代几乎总是多余的。
其他方式:
substr($a,-1) =~ y/xy/yx/;