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