删除尾随字符

时间:2013-10-29 07:04:44

标签: tcl

请告诉我从<>之间嵌入的字符串末尾删除=和换行符\n

例如输入字符串

set string "abcd  1234   abc=
"

我只想从末尾删除=和新行

2 个答案:

答案 0 :(得分:4)

如果您想从结尾删除所有=和换行符,无论有多少,我建议string trimright

set string "abcd  1234   abc=
"
string trimright $string =\n
set str2 "abc===="
string trimright $str2 =\n ; returns abc

如果你知道最后2个字符是=\n,你也可以使用字符串范围

string range $string 0 end-2

对于更复杂的解决方案,regexp是合适的。

答案 1 :(得分:1)

尝试使用regsub

regsub {=\n$} $string {} string

<强>测试

% set string "abcd  1234   abc=
"
abcd  1234   abc=

% regsub {=\n$} $string {} string
1
% puts $string
abcd  1234   abc