2022年的 Tcl/Tk 編程入門參考 9.字符串
String 命令
常用參數(shù)
-nocase 忽略大小寫
string cat 字符串合并
直接把所有參數(shù)合并成一個字符串
string compare ?根據(jù)字典順序比較字符串先后順序
string length字符串長度
string equal 字符串比較
string index提取指定位置字符
string index 字符串 索引位置
string repeat 字符串重復(fù)
string range 字符串提取
string range string first last
字符串替換
string replace 替換和刪除
string map 批量替換
string map ?-nocase? mapping string
字符串變換
string reverse 反轉(zhuǎn)
string tolower 轉(zhuǎn)換為小寫
string tolower string ?first? ?last?
string totitle首字母大寫
string totitle string ?first? ?last?
string toupper 轉(zhuǎn)換為大寫字母
與小寫轉(zhuǎn)換語法相同 string toupper string ?first? ?last?
字符串查找
string first
沒找到回返回 -1 找到返回下標(biāo)(即從0開始計(jì)數(shù)的位置),注意,即使設(shè)置搜索起始的位置,返回下標(biāo)也是從0開始計(jì)數(shù)
string last
string last needleString haystackString ?lastIndex?
從后往前找,但是返回的位置依然是從左往又?jǐn)?shù)的位置,也就是正數(shù)的位置,不是倒數(shù)的位置
字符串修剪
string trim
從字符串的前后刪除多余的字符(默認(rèn)為空白,即空格和Tab)
string trimleft
與 trim 相同,但只刪除開頭的字符
string trimright
與 trim 相同,但只刪除結(jié)尾的字符
模式匹配
string match
*通配符。匹配任意數(shù)量和值的任意字符 ?匹配一個字符 [chars] 匹配 chars 中的任意一個字符
?
字符串類型驗(yàn)證
string is class ?-strict? ?-failindex varname? string
嚴(yán)重字符串是否屬于某種類型,比如布爾值:
過時的子命令
string bytelength string string wordend string charIndex string wordstart string charIndex
其它字符串命令
append 追加
append的作用,是在變量值后面追加字符串。它要求一個變量名作為必要參數(shù),后面跟多個可選參數(shù)作為追加內(nèi)容 當(dāng)僅僅給出變量名這一個參數(shù),append命令會返回變量值,就跟set命令一樣。但如果變量不存在,就會報(bào)錯。如果給出追加參數(shù),就會在變量值后面追加內(nèi)容。這種情況下如果變量不存在,會先自動創(chuàng)建變量。
append ?變量名 ??追加1? ??追加2? ??追加3? ?...
format
一部分功能類似于python的 f 字符串,把后續(xù)內(nèi)容以指定格式插入到字符串中的指定位置。但是如果僅僅是插入的話,用變量替換更簡單,它實(shí)際用于字符串變形。format 對字符串進(jìn)行各種變形操作,用標(biāo)識符來設(shè)定格式,標(biāo)識符以%開頭,直接看使用例子吧:
?
scan
跟format相反,scan把字符串的各個部分摘出來,分別賦值給后續(xù)變量(省略變量時可以用于檢測是否與給出形式匹配)scan是從左往右匹配,開頭的必須指定,右側(cè)即后續(xù)的匹配可以省略。給出變量名時,變量名必須跟%識別符的數(shù)目匹配,scan返回匹配的數(shù)目。省略變量名時,scan返回匹配的內(nèi)容,用空格間隔。
?