J'ai besoin de concaténer deux chaînes dans tcl, puis de couper la chaîne concaténée s'il y a un caractère indésirable comme '_'
. Les chaînes sont stockées dans des variables tcl et le problème auquel je fais face est que j'ai besoin de concaténer ces deux chaînes comme "$str1_$str2"
. Fondamentalement joindre deux chaînes avec un '_'
entre eux. J'ai trouvé le moyen de le faire comme ci-dessous.Concaténation de deux chaînes en tcl
set str1 "mystring1"; #string 1
set str2 "mystring2"; #string 2. This string could be Empty String as well.
set outString [append outString "_" $str2];
set outString [string trimright '_'];
Cela me donne la valeur de outString comme ci-dessous:
puts $outString;
mystring1_mystring2 #if $str2 is not empty
mystring1 #if $str2 is empty.
Je cherche une façon plus optimisée pour atteindre ma tâche. J'ai essayé de joindre simplement les deux chaînes comme
set outString "$str1_$str2"
Mais je reçois l'erreur « No such variable str1_ $ », car « _ » underscore peut faire partie du nom de la variable.
Toutes les suggestions seraient appréciées.
Quels sont les accolades? C'est dans [Tcl (n)] (http://www.tcl-lang.org/man/tcl8.6/TclCmd/Tcl.htm#M12). –
@DonalFellows: Merci, mis à jour. –