このstring trimright
コマンドは、(オプションの) 最後の引数を削除する文字のセットとして扱います (これ.dcsss
も同様sdc.
です) 。実際、と の両方を続けて使用するのと同じです。これは、あなたがやろうとしていることには不適切です。サフィックスが存在する場合にサフィックスを削除するには、いくつかの手法を使用できます。string trim
string trimleft
string trim
string trimright
string trimleft
# It looks like we're stripping a filename extension...
puts [file rootname "dcssss.dcsss"]
# Can use a regular expression if we're careful...
puts [regsub {\.dcsss$} "dcssss.dcsss" {}]
# Do everything by hand...
set str "dcssss.dcsss"
if {[string match "*.dcsss" $str]} {
set str [string range $str 0 end-6]
}
puts $str
実際にファイル名の操作を行っている場合は、これらのオプションの最初のオプションを使用してください。このfile
コマンドには、クロスプラットフォームでファイル名を操作するための非常に便利なコマンドがいくつか含まれています。