2

我有一个文本文件,其中每一行都可能以一些被空格包围的固定 TAG 结尾,例如

一些文字标签

我正在写类似的东西:

while (<FILE>) {
  s/\s*TAG\s*$//;
  print;
}

问题是这从末尾删除了新行,有没有告诉 Perl 不要替换新行?我唯一想到的就是写

s/\s*TAG[ \t]*$//;

有没有更好的办法?

[不确定这是否相关,但操作系统是 Linux]

谢谢。

4

1 回答 1

3

[^\S\n]将匹配不是换行符的空格,因此:

s/\s*TAG[^\S\n]*$//;

或者你可以这样做:

s/\s*TAG\s*$/\n/;
于 2012-06-17T08:34:45.787 回答