如何使用Perl根据条件修改字符串的最后两个字符

cha*_*itu 3 string perl substring

我有字符串需要检查最后两个字符.如果发现最后两个字符符合我的要求,我需要截断字符串,否则保持字符串不变.我知道它可以使用控制条件来完成,但我想知道perl中是否有任何单个语句可以实际实现此目的.还建议任何更好的方法来做到这一点.

例:

$str = "Hello";
Run Code Online (Sandbox Code Playgroud)

所以如果最后两个字符说"tr",我想截断字符串,但在这种情况下我们需要将字符串保留为原始字符串,因为最后两个字符不是"tr"

ike*_*ami 6

Perl的替换运算符s/// 在这里是理想的.\z匹配字符串的结尾,但不匹配行尾.

$str =~ s/tr\z//;
Run Code Online (Sandbox Code Playgroud)