如何使用正则表达式匹配变量末尾的\ n

时间:2012-05-05 08:43:54

标签: perl tcl

我将文件存储在变量中,比如$buffer"\n"末尾有一个$buffer。我想用空值替换它。我试过了

regexp "\n$" $buffer

不工作。代码在TCL中,但我需要知道如何在Perl或TCL中完成它。

6 个答案:

答案 0 :(得分:5)

string trim $buffer \n

请参阅manual

答案 1 :(得分:3)

在Perl chomp中删除记录结束分隔符。因此,要删除'\ n',您需要的只是chomp $buffer

答案 2 :(得分:2)

如何:regsub {\n$} $buffer ""

答案 3 :(得分:2)

@ porodin说,

chomp可能是最好的,但您也可以使用\z仅匹配字符串的末尾:

$buffer =~ s/\n\z//;

答案 4 :(得分:1)

Perl:

$buffer =~ s/\n$//;

=~是绑定运算符,s是替换运算符,/是操作数的分隔符,因此\n$被空字符串替换。

chomp($buffer)将完成同样的事情。

答案 5 :(得分:-2)

检查是否有效。

regsub "\n$" "" $buffer

For further reading