如何在没有新行的情况下替换空格

时间:2012-06-17 08:14:08

标签: regex perl

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

  

一些文字TAG

我写的是:

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

问题是这从最后删除了新行,反正告诉Perl不要更换新行吗?我唯一想到的就是写

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

有更好的方法吗?

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

感谢。

1 个答案:

答案 0 :(得分:3)

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

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

或者你可以这样做:

s/\s*TAG\s*$/\n/;