比较来自世界各地的卖家的域名和 IT 服务价格

TCL - split 列表中任意数量的空间字符行

假设我有这样的字符串:


set str "AAA B C DFG 142 56"


现在我想收到以下列表:


{AAA B C DFG 142 56}


为此,我想使用该功能 split, 但在这种情况下,我得到一些额外的空列表 {}. 我如何获得上面的列表?
已邀请:

涵秋

赞同来自:

set text "Some arbitrary text which might include \$ or {"
set wordList [regexp -inline -all -- {\S+} $text]


看:
http://wiki.tcl.tk/989
.

风见雨下

赞同来自:

您可以始终执行以下操作:


set str "AAA B C DFG 142 56"
set newStr [join $str " "]


他将撤回以下内容:


{AAA B C DFG 142 56}

知食

赞同来自:

模块 textutil::split 经过
http://tcllib.sourceforge.net/doc/index.html
它有
splitx

proc, 这是你想要的


package require textutil::split
set result [textutil::split::splitx $str]

三叔

赞同来自:

作为 Tcl 8.5 以下是运行:


list {*}$str


/如果字符串也是问题中的右列表/. 输出是所需的列表。

文档:
http://www.tcl.tk/man/tcl/TclCmd/list.htm
,
http://www.tcl.tk/man/tcl/TclCmd/Tcl.htm
/

冰洋

赞同来自:

我知道它是旧的,但如果其他人将来会遇到这个,我会增加我的决定。 我投入了一个未知的数字 whitespace 在一个角色中 whitespace, 允许 split 正常工作,就像答案斯科特一样:


set str "AAA B C DFG 142 56" 
regsub -all { +} $str " " str ; # str is now "AAA B C DFG 142 56"
set splitout [split $str { +}]

要回复问题请先登录注册