我已经看到某处而不是在perl中使用chomp我们可以使用一些正则表达式来实现相同的任务。任何人都可以告诉正则表达式将在perl中遇到chomp
提前致谢
答案 0 :(得分:11)
chomp
做的是从参数字符串的末尾删除$/
的值(如果没有参数,则删除$_
)。因此等效的正则表达式将是:
s#\Q$/\E\z##;
请注意s///
使用其他分隔符以避免$/
变量出现问题。
但是,使用这样的正则表达式没有任何好处,相反。在我看来,这是一个纯粹的学术问题。
答案 1 :(得分:6)
至少需要995次1000(除了标签分隔数据之外)
s/\s+\z//;
而不是
chomp;
它处理尾随空格(不应该是重要的),Windows行结尾和unix行结尾。