Tcl學習之--字符串
【字符串操作】
Tcl的精髓在於對字符串的處理,非常多函數非常實用。特別是正則表達式。以下列出其經常使用的函數.
l sting index: --> 索引
l sting range: --> 範圍
l sting length: --> 長度
l sting toupper 和string tolower: --> 大寫和小寫
l sting trim、 trimleft, trimright: --> 剪裁
三種剪裁方式。每種方式都須要兩個參數:指定字符串,指定裁剪方式. trim: 把在開頭和結尾出現要剪裁的字符刪去,返回刪除後的結果:
l string repeat: --> 反復
l sting first和 string last: --> 搜索
兩個都是簡單搜索,找到後返回索引值,假設找不到。則返回-1;
l sting compare和string equal: -->比較
stingcompare: 讀入兩個參數,並對其進行比較。
1) 假設兩個字符串同樣,返回0
2) 假設第一個字符串在字典中小於第二個,則返回-1
3) 假設第一個字符串在字典中順序大於第二個,返回1
stringequal: 對兩個字符串進行簡單的字符串比較。嚴格相同,返回1, 否則返回0,該命令相同區分大寫和小寫,除非加-nocase選項。還能夠設置-length選項,僅僅對指定長度個字符比較.
l sting replace和string map: --> 置換
stringreplace: 簡單替換
stringmap: 依據字典將字符串中的對應文本置換為某個值。語法:
stringmap dictionary string
l sting is: --> 類型推斷
1) 假設為指定的類型,返回1
2) 假設非指定的類型,返回0
l format: --> 字符串格式化
和C中的非常printf非常相像,作用卻沒那麽大.經常使用以下幾種方式:
%s: 字符串
%f: 浮點型
%d: 整數型
%x: 十六進制
l
scan
format的逆操作,就好比列表中join, split一樣。
它從一個有格式的字符串控制下解析這個字符串,把這些變成字符串相相應的字段,置於Tcl變量中.
上面2代表成功完畢兩次轉換.
l string match: --> 模式匹配
Tcl有兩種模式匹配方式。一種簡單,一種復雜。
簡單: 通配符模式
復雜: 正則表達式
stringmatch就是一種通配符匹配模式,成功返回1,否則返回0
stringmatch ?-nocase? pattern string
l 正則表達式: --> 復雜模式匹配
regexp: -->獲取
一般使用方法:獲取兩個參數。正則表達式模式和輸入字符串,返回0,1
經常使用使用方法:輸入字符串後存放很多其它變量,用於放置匹配到的字符串
regsub: --> 替換
第一個參數: 正則表達式模式
第二個參數: 輸入字符串,返回0,1
第三個參數: 替換字符串
第四個參數: 替換後的字符串
經常使用選項:
-all: 找到全部匹配的選項,返回匹配到的次數
-nocase:不區分大寫和小寫
-line:多行匹配開關
--:明白標識命令選項結束
-start:指定字符中一個字符的索引
註意: \代表特殊含義的字符,\2代表匹配到的第二個子組baa, b,
所以{z\2}真正的意思就是用z->a,假設匹配到baa,b則不做處理。
Tcl學習之--字符串