tcl tk參考 字串操作regsub

2021-04-16 07:19:19 字數 2196 閱讀 1331

. .

regsub - 基於正規表示式模式匹配完成替換操作regsub?

switches?

exp string subspec ?

varname?

這個命令對

string進行正則表達匹配,然後把字串拷貝進入

varname中,如果沒有

varname則將字串返回。(正規表示式語法匹配描述在re_syntax中。)如果匹配成功,就把匹配的部分換成

subspec後再拷貝到

varname中,如果

subspec包含"&"和"/0",將會替換為匹配的字串,如果包含"/n"將被替換為字模式匹配的字串,多新增乙個反斜槓將會阻止解釋其去解釋"&"、"/0"、"/n"和"/",為了防止這些情況發生,把

subspec放入花括號中會更加安全。

如果緊接著regexp的第乙個變元以-開頭,那麼就會被當作可選項來處理,可以使用的選項如下:

-all

在字串中符合使正規表示式的部分全部被匹配並且全部會被替換,沒有這個可選項就只有第乙個匹配的字串會被替換。在-all選項下,所有匹配的字串都會分別根據匹配情況進行"&"和"/n"的替代。

-expanded

使正規表示式使用擴充套件語法,空格鍵和注釋會被忽略,與指定了(?x)嵌入選項相同(參見re_syntax幫助手冊)。

-line

換行符敏感。換行符是字串的結束符,如果使用了這個標誌位,[^.不會匹配換行符,如果有換行,那麼^$匹配乙個空字串,這個標誌為相當於同時指定了-linestop-lineanchor,與(?n)嵌入選項相同(參見re_syntax幫助手冊)。

-linestop

使[^.不會匹配換行符,與(?p)嵌入選項相同(參見re_syntax幫助手冊)。

-lineanchor

使^$的行為改變為面向行的方式,與(?w)嵌入選項相同(參見re_syntax幫助手冊)。

-nocase

是大寫字母也被當作小寫來處理,相當於不區分大小寫字元。

-startindex

指定了開始匹配的索引位置,當使用了這個可選項,^不會從字串的開頭匹配,而是從指定的索引位置開始匹配。

--

指示可選項的結束,這個可選項主要用於

exp以-開頭的時候。

使用bar替代字串中所有的foo

regsub-all  $string bar string
使用雙引號把匹配的字串括起來:

regsub-nocase  $string  string
通過regsubsubst命令把所有非ascii和tcl特殊意義的字元使用/u轉義:

# 這個正規表示式是所有「非法」字元的字符集

set re ;#///$/s/u0100-/uffff]}

# 替換乙個中括號中的tcl命令

set substitution

# 將命令傳給subst使format命令得到替換

set quoted [subst [regsub-all $re $string $substitution]]

《C語言及程式設計》實踐參考 字串處理函式

返回 賀老師課程教學鏈結 實踐要求 專案4 字串處理函式 指標是神奇的,指向整型的指標int p1,可以操作整型陣列int a 指向字元型的指標char p2,可以操作字元陣列 字串 char str 更靈活的是,在函式的傳遞中,指標 陣列名在一定程度上可以互換。請編制函式,對字串的進行各種操作。序...

2014秋C 第13周專案5參考 字串操作

課程主頁在 課程資源在 雲學堂 賀老師課堂 同步展示,使用的帳號請到課程主頁中檢視。專案5 字串操作 1 閱讀下面的程式,完成類似的字元統計功能 include includeusing namespace std int main cout include includeusing namespa...

字串操作 靠字串分割字串

字串分解函式。注意strtok比較複雜。要妥善運用!也可以不用strtok函式,但要實現字串靠字串分割比較困難!注意str指向的空間必須是可讀可寫的 如陣列或動態分配的空間 不能為字串常量的指標,因為strtok改變了其中的內容。include include 功能 將str中的字串按照elemon...