1. 程式人生 > >Tcl學習之--字符串

Tcl學習之--字符串

col sta http popu 模式 att font 註意 學習

字符串操作

Tcl的精髓在於對字符串的處理,非常多函數非常實用。特別是正則表達式。以下列出其經常使用的函數.

l sting index: --> 索引

技術分享

l sting range: --> 範圍

技術分享

l sting length: --> 長度

技術分享

l sting toupperstring 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學習之--字符串