从字符串中删除空格

时间:2013-12-05 05:36:37

标签: tcl

说我有这样的字符串:

设置str“BAT-CAT,DOG,ELEPHANT,LION& MOUSE-ANT,MONKEY,DONKEY”

现在我想获得STRING如下:

“BAT-猫,狗,大象,LION&安培; MOUSE-ANT,猴,驴”

我正在使用修剪功能来删除空白区域,但它无法正常工作建议任何regsub或程序同样谢谢

3 个答案:

答案 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 ""