TCL語言筆記:TCL中的String命令


一、介紹

  字符串是 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 等。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM