我有一个文本文件,其中每一行可能以一些由空格包围的固定TAG结尾,例如
一些文字TAG
我写的是:
while (<FILE>) {
s/\s*TAG\s*$//;
print;
}
问题是这从最后删除了新行,反正告诉Perl不要更换新行吗?我唯一想到的就是写
s/\s*TAG[ \t]*$//;
有更好的方法吗?
[不确定这是否相关,但操作系统是Linux]
感谢。
答案 0 :(得分:3)
[^\S\n]
将匹配不是换行符的空格,因此:
s/\s*TAG[^\S\n]*$//;
或者你可以这样做:
s/\s*TAG\s*$/\n/;