说我有这样的字符串:
设置str“BAT-CAT,DOG,ELEPHANT,LION& MOUSE-ANT,MONKEY,DONKEY”
现在我想获得STRING如下:
“BAT-猫,狗,大象,LION&安培; MOUSE-ANT,猴,驴”
我正在使用修剪功能来删除空白区域,但它无法正常工作建议任何regsub或程序同样谢谢
答案 0 :(得分:7)
从字符串中删除所有空格的最佳方法是使用string map
:
set stripped [string map {" " ""} $originalString]
答案 1 :(得分:2)
regsub -all { } $str ""
这将返回: BAT-猫,狗,大象,LION&安培; MOUSE-ANT,猴,驴
答案 2 :(得分:2)
另一个解决方案就是这个。
join [list {*}$str] ""
使用{*}
运算符,从Tcl解析器点开始编写类似:
join [list BAT-CAT, DOG,ELEPHANT ,LION & MOUSE-ANT ,MONKEY, DONKEY] ""
现在,list
命令将创建一个新列表,其中每个元素都是其参数之一,并且空格用作参数分隔符。
最后,join
命令将列表作为其前一个参数,将分隔符作为后一个参数,并构建由分隔符分隔的列表项形成的字符串。在这种情况下,我使用空字符串作为分隔符,因此结果字符串由列表项组成,其中没有任何内容。
您也可以使用这种更简单的语法
来实现join $str ""