2

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

regexp "\n$" $buffer

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

4

6 回答 6

5
string trim $buffer \n

请参阅手册

于 2012-05-05T09:13:42.217 回答
3

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

于 2012-05-05T12:18:57.160 回答
2

怎么样:regsub {\n$} $buffer ""

于 2012-05-05T09:14:47.313 回答
2

chomp正如@Borodin 所说,这可能是最好的,但您也可以\z仅在字符串末尾使用匹配:

$buffer =~ s/\n\z//;
于 2012-05-06T05:53:36.943 回答
1

在 Perl 中:

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

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

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

于 2012-05-05T08:59:11.633 回答
-2

检查这是否有效。

regsub "\n$" "" $buffer

进一步阅读

于 2012-05-05T08:58:35.007 回答