基本的なタスクのように思えますが、何かで終わる文字列を取得し、最後の 3 文字を別のものに置き換えたいと考えています。これが私の試みです:
set v "this is bob"
set index2 [string length $v]
set index1 [expr $index2 - 3]
set result [string replace $v index1 index2 dog]
puts $result; # I want it to now say "this is dog"
編集:言及するのを忘れました、それが私に与えるエラーメッセージは次のとおりです:
不適切なインデックス "index1": 整数でなければなりませんか?[+-]整数? または end?[+-]integer? 実行中 "string replace $v index1 index2 .hdr" 内部から呼び出された 「結果を設定 [文字列は $v index1 index2 .hdr を置換]」 (ファイル「string_manipulation.tcl」の 7 行目)