3

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

例如输入字符串

set string "abcd  1234   abc=
"

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

4

2 回答 2

6

如果你想=从最后删除所有和换行符,不管有多少,我建议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

对于更复杂的解决方案,正则表达式是合适的。

于 2013-10-29T07:36:17.707 回答
1

尝试使用regsub

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

测试

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

% regsub {=\n$} $string {} string
1
% puts $string
abcd  1234   abc
于 2013-10-29T07:13:06.477 回答