一、介紹
字符串是 Tcl 中的基本數據類型,所以有大量的字符串操作命令。一個比較重要的問題就是模式匹配,通過模式匹配將字符串與指定的模式(格式)相匹配來進行字符串的比較、搜索等操作。
二、string命令列表
命 令 |
說 明 |
string bytelength str |
返回用於存儲字符串的字節數。 |
string compare ?-nocase? ?- length len? str1 str2 |
根據詞典順序比較字符串。-nocase 選項表示大小寫無關。-length 選項表示只比較指定長度的開頭部分字符。如果字符串相同就返回 0(str1=str2),如果 str1 的順序比 str2 靠前就返回-1(str1<str2),其他情況返回 1(str1>str2)。 |
string equal ?-nocase? str1 str2 |
比較字符串,相同返回 1,否則返回 0。 |
string first str1 str2 |
返回在 str2 中 str1 第一次出現的索引位置,如果沒有找到則返回-1 |
string index str index |
返回指定位置的字符。index 號從 0 開始。如果 index 為 end 則返回最后一個字符。 |
string is class?-strict? ?-failindex varname? str |
判斷字符串的類型,如果是指定類型就返回 1。字符類型例如有整型、 布爾型等等。如果使用了-strict 則表示不匹配空字符,否則總是匹配的。如果指定了 failindex 則將 string 中非 class 的字符索引賦給 varname 變量。詳細的字符類見后面的介紹(表 4-7)。 |
string last str1 str2 |
返回 str2 在 str1 最后一次出現的位置索引。沒有搜索到就返回-1。 |
string length str |
返回 str 中的字符個數 |
string map ?-nocase? charMap str |
返回根據 charMap 中輸入、輸出列表將 str 中的字符進行映射后而產生的新字符串。參見本節“字符串映射”部分。 |
string match pattern str |
如果 str 匹配 pattern 就返回 1,否則返回 0。使用的是通配風格的匹配。參見本節的“字符串的匹配”部分。 |
string range str index1 index2 |
返回 str 中從 index1 到 index2 之間的字符串。 |
string repeat str count |
返回將 str 重復 count 次的字符串。 |
string replace str first last ?newstr? |
將從 first 開始到 last 結束的一段字符串替換為 newstr 字符串。如果 newstr 沒有,則這部分字符串內容會被刪除。 |
string tolower str ?first? ?last? |
將指定范圍的字符轉化為小寫格式。 |
string totile str ?first? ?last? |
通過將第一個字符替換為 Unicode 的標題型字符或大寫形式,而其余的替換為小寫形式的方法將 str 轉換為開始字母大寫形式。可以用參數指定操作范圍。 |
string toupper string ?first? ?last? |
將指定范圍的字符轉化為大寫形式。 |
string trim str ?chars? |
從 str 兩端刪除 chars 中指定的字符。chars 默認為空字符。 |
string trimleft str ?chars? |
從 str 開頭刪除 chars 中指定的字符。chars 默認為空字符。 |
string trimright str ?chars? |
從 str 結尾刪除 chars 中指定的字符。chars 默認為空字符。 |
string wordend str index |
返回 str 中在索引位置 index 包含字符的單詞之后的字符的索引位置。 |
string wordstart str index |
返回 str 中在索引位置 index 包含字符的單詞中第一個字符的索引位置。 |
說明: 命令中的兩個問號之間的內容是任選項,表示根據實際需要可選的內容。字符串的這些命令的使用方法比較相似。常用的字符串操作有:
- string match:字符串匹配(或者比較);
- 大小寫轉換:tolower 和 totopper 以及 totile;
- equal 操作;
- string compare;
- string range;
- string replace 等。