字符串操做:express
string option string1 string2app
其中option能夠是:spa
compare 按字母順序比較,小於則返回-1,等於返回0,大於返回1code
match 判斷是否匹配element
first判斷string2中string1第一次出現的位置,若是沒有則返回-1字符串
last 和first做用相反,最後一次出現的位置,若是沒有則返回-1get
trim 刪除string1的開頭和結尾的string2,中間的不會刪除string
string trim ____abc_def____ _abc_def_ string trim ____abc_def____ ____abc_def____ string trim ____abc_def____ ____ abc_def string trim ____abc_def____ a ____abc_def____ string trim abcdabcd a bcdabcd string trim abcdabcda a bcdabcd string compare abc bcd -1 string compare 234 123 1 string match 123 2 0 string match 123 123 1 string first abc 123abc234abc567 3 string last abc 123abc234abc567 9
string option string命令,其中option能夠是:it
tolower 返回轉換成小寫字母以後的新字符串io
toupper大寫
trimleft刪除左邊的全部空白字符
length 返回長度
string tolower abCdEfg abcdefg string toupper abcdefg ABCDEFG string length abcdef 6
string range命令:
string range abcdefg 2 3 cd string range abcdefg 1 3 bcd string range abcdefg 2 3 cd string range abcdefg 2 4 cde string range abcdefg 2 5 cdef 經過以上實驗發現string range命令的第一個數字和第二個數字分別表明字符串中的起始位置和結束位置,特別是第二個數字並非表明要截取的子字符串的長度
append命令:字符串追加,能夠無限追加
set n 123 123 append n a b c 123abc puts $n 123abc
split命令 將字符串轉換成列表,格式爲:split string 分隔符
puts $n 123abc split $n a 123 bc split abcdefg e abcd fg
array name a 1 15 16 incr a(0) +3 3 array name a 0 1 15 16 array leng a bad option "leng": must be anymore, donesearch, exists, get, names, nextelement, set, size, startsearch, statistics, or unset array length a bad option "length": must be anymore, donesearch, exists, get, names, nextelement, set, size, startsearch, statistics, or unset array size a 4 set j 123 123 incr j +100 223 puts $j 223 incr j 224
expr命令有點相似C語言中的算術操做符(Tcl中邏輯真值是1,邏輯假值是0),有!(只要是0,執行!0以後就是1,只要是非零,執行!以後就是0),
parray a a(0) = 0 a(1) = 0 a(15) = hello a(16) = 16 expr !$a(1) 1 expr !$a(15) invalid bareword "hello" in expression "!hello"; should be "$hello" or "{hello}" or "hello(...)" or ...
注意上面的錯誤提示:我猜測有可能Tcl命令中可以將一個命令的執行結果看成另外一個命令的變量
expr 5 * $a(16) 80 expr 12 >> 1 6 expr 12 << 1 24 expr 3>2 ? 5:6 5 expr 3<2 ? 5:6 6 expr 5 %2 1 expr 5 /2 2 expr 5 /1.2 4.166666666666667 expr 5 % 1.2 can't use floating-point value as operand of "%" expr abc(-3) invalid command name "tcl::mathfunc::abc" expr abs(-3) 3 expr round(1.234) 1 expr round(1.634) 2 expr sin(3.14 /2) 0.9999996829318346 expr cos(0) 1.0