Sagen, ich habe einen string wie diesen:
set str "AAA B C DFG 142 56"
Nun möchte ich eine Liste wie folgt:
{AAA B C DFG 142 56}
Dass ich verwenden möchten, split-Funktion, aber in diesem Fall bekomme ich einige zusätzliche leere Listen {}. Wie kann ich die Liste oben?
Sehen: Aufteilen einer Zeichenkette In Wörter.
regexp
zurückkehren könnte eine Liste. Hätte ich dies getan, das ist fast so gut[split [regsub { {2,}} $string " "] " "]
. Die regsub ersetzt alle Sequenzen von Leerzeichen der Länge 2 oder mehr mit einem einzigen Raum, der dann die teilt auf, die.file delete -- $file
,switch -exact -- $word
, ...)Können Sie Folgendes tun:
Es wird Folgendes ausgegeben:
Den textutil::split Modul aus tcllib hat eine
splitx
proc, das genau das tut, was Sie wollenAls von Tcl 8.5, auch die folgenden Werke:
(sofern der string ist auch eine richtige Liste, wie in der Frage). Die Ausgabe der gewünschten Liste.
Dokumentation:
Liste,
{*} (syntax)