Fonction split pouvant splitter sur une séquence de caractères
La commande
split ne permet pas de splitter sur une chaîne de caractères.
Démonstration
split "ceciseestseunsemessagesecaché" "se"
Tcl: c ci {} {} {} t {} un {} m {} {} ag {} {} caché
Tcl comprend qu'il faut splitter sur "s" et sur "e" mais pas sur "se".
Voici la solution :
Procédure
proc string_split {string separator} {
return [split [::tcl::string::map [list $separator \0] $string] \0]
}
Ce qui donne...
string_split "ceciseestseunsemessagesecaché" "se"
Tcl: ceci est un message caché