【发布时间】:2012-05-17 14:22:06
【问题描述】:
我有需要检查最后两个字符的字符串。如果发现最后两个字符符合我的要求,我需要截断字符串,否则保持字符串不变。我知道可以使用控制条件来完成,但我想知道 perl 中是否有任何单个语句可以实际实现这一点。还建议任何更好的方法。
例子:
$str = "Hello";
所以如果最后两个字符是“tr”,我想截断字符串,但在这种情况下,我们需要将字符串保留为原始字符串,因为最后一个字符不是“tr”
【问题讨论】:
我有需要检查最后两个字符的字符串。如果发现最后两个字符符合我的要求,我需要截断字符串,否则保持字符串不变。我知道可以使用控制条件来完成,但我想知道 perl 中是否有任何单个语句可以实际实现这一点。还建议任何更好的方法。
例子:
$str = "Hello";
所以如果最后两个字符是“tr”,我想截断字符串,但在这种情况下,我们需要将字符串保留为原始字符串,因为最后一个字符不是“tr”
【问题讨论】:
Perl 的替换运算符s/// 在这里是理想的。 \z 匹配字符串结尾,但不匹配行尾。
$str =~ s/tr\z//;
【讨论】: