拆分多个空格和列表

时间:2015-04-08 08:54:44

标签: list split tcl spaces

我有这样一句话:

AA      BB  CC dd {ee ff} gg

我想分割这一行,但保持列表如下:

AA BB CC dd {ee ff} gg

所以我尝试了split,但由于{}AA

之间存在多个空格,我获得了多个BB

我也哄骗了

set splitted_line [regexp -all -inline {\S+} $list]

但是此命令会拆分{eeff}

中的列表

我该如何妥善分割我的线?

1 个答案:

答案 0 :(得分:2)

如果你的专栏中真的有{大括号引用的}字,你可以直接将其视为Tcl列表。在这种情况下,“清理”的第一个停靠点是使用lrange

set splitted_line [lrange $list 0 end]

这也会转换一些其他内容,例如"双引号"字;我不知道这是不是你想要的 示例会话:

% set example {A   BB  CCC  {dd    ee} "ff $gg"    }
A   BB  CCC  {dd    ee} "ff $gg"    
% lrange $example 0 end
A BB CCC {dd    ee} {ff $gg}