我使用以下命令对字符串的内容进行排序
set local_object [lsort -dictionary $list_object]
此命令将用空格替换新行
如何避免?
答案 0 :(得分:2)
lsort假设它的参数是一个Tcl列表。包括换行符在内的任何空格都可以分隔该列表的元素,但不会在输出中保留。如果要格式化输出列表,每行可以使用一个元素:
set local_object [join [lsort -dictionary $list_object] "\n"]
答案 1 :(得分:1)
这完全取决于您的列表的构建方式。任何字符串都可以解释为列表。如果您将字符串视为列表,则所有空格都被视为分隔符。
set str "d b a\n c"
set lst [lsort -dictionary [split $str " "]]
foreach word $lst {
puts $word
}
a
b
c
d
Split保留了换行符并使用单个空格作为分隔符。