在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

string命令合集

CHANBAEK ? 來源:數(shù)字IC與好好生活的兩居室 ? 作者:除夕之夜啊 ? 2023-03-29 11:43 ? 次閱讀

string 命令合集

(1) 常用的 string 命令如下表所示,其中粗體部分表示 TCL 系統(tǒng)命令或參數(shù)。

(2) “str1 str2 ...”、“index1 index2 ...”等,表明參數(shù)可以指定多個。

(3) 注意各個命令使用字符串變量時,格式是 **str 還是 str。一般使用 **str 時會返回新的字符串,使用 str 時不會返回新的字符串。

命令格式 說明
string comparestr1str2 字符串比較,str1 大于、等于、小于時,返回值分別為 1、0、-1。
string equalstr1str2 字符串比較,嚴(yán)格相同返回 1,否則返回 0。可以指定 -nocase 選項,不區(qū)分大小寫比較。也可以指定 -length 進(jìn)行定長比較。
string index $str index 返回索引的字符
string range $str index1 index2 返回指定索引范圍為 index1~index2 內(nèi)的字符串
string replace $str index1 index2 newStr 將索引范圍為 index1~index2 的字符串替換為 newStr,如果沒有指定新字符串則完成刪除功能
string mapcharMapstr 根據(jù)字典型變量 charMap 鍵值對的關(guān)系,將 str 中的字符作為鍵進(jìn)行映射
string length $str 返回字符串的字符長度
string repeat $str times 字符串重復(fù)多次組成新的字符串變量
string reverse $str 返回與字符串 str 順序相反的字符串
string tolower $str 返回小寫字符
string toupper $str 返回大寫字符
string firststr1str2 返回 str1 在 str2 中第一次出現(xiàn)的位置索引
string laststr1str2 返回 str1 在 str2 中最后一次出現(xiàn)的位置索引
string trim $str chars 刪除字符串兩端的 chars,默認(rèn)刪除空白
string trimleft $str chars 刪除字符串左側(cè)開始的 chars,默認(rèn)刪除空白
string trimright $str chars 刪除字符串右側(cè)開始的 chars,默認(rèn)是空白
string wordend $str index 返回在索引位置的單詞之后的字符索引位置
string wordstart $str index 返回在索引位置的單詞中第一個字符的索引位置
string is class $str 判斷字符串的類型
string match pattern str 字符串匹配模式,匹配成功則返回 1

字符串操作舉例

舉例:string compare/equal

TCL 中使用 string equal 進(jìn)行字符串是否相等的比較。嚴(yán)格相等返回值為 1,否則為 0 。

可選項 -nocase 指定比較時不區(qū)分大小寫,可選項 -length 指定字符串長度進(jìn)行比較。

set str_ref "abcd"
set str_comp1 "abce"
set str_comp2 "ABCd"
# 以下兩種方式不等
puts [string equal $str_ref $str_comp1]
puts [string equal $str_ref $str_comp2]
#以下兩種方式相等
puts [string equal -length 3 $str_ref $str_comp1]
puts [string equal -nocase $str_ref $str_comp2]
#% 0
#% 0
#% 1
#% 1

string compare 不僅能比較是否相等,還能比較 2 個字符串大小(按照 ASCII 字符排列)。當(dāng)兩個字符串間的關(guān)系為大于、等于、小于時,返回值分別為 1、0、-1。

也可以使用 -nocase、-length 選項。

set str_ref "abcd"
set str_comp1 "abce"
set str_comp2 "ABCd"
# abcd < abce
puts [string compare $str_ref $str_comp1]
# abcd > ABCd
puts [string compare $str_ref $str_comp2]
# 以下相等
puts [string compare -length 3 $str_ref $str_comp1]
puts [string compare -nocase $str_ref $str_comp2]


#% -1
#% 1
#% 0
#% 0

舉例:string index/range

string index 用于訪問字符串中的單個字符,string range 用于訪問字符串中指定范圍內(nèi)的多個字符。

set str "Forever young."
puts "3rd char: [string index $str 3]"
puts "3-6 char: [string range $str 3 6]"
#% 3rd char: e
#% 3-6 char: ever

舉例:string replace/map

string replace 可以將指定索引范圍內(nèi)的字符串替換為新的字符串。

如果沒有指定新字符串則完成刪除功能。

set str "Forever young."
# 替換 young -> happy , young -> sad
puts "[string replace $str 8 end-1 "happy"]"
puts "[string replace $str 8 end-1 "sad"]"
# 刪除 young
puts "[string replace $str 8 end-1]"
#% Forever happy.
#% Forever sad.
#% Forever .

string map 根據(jù)指定字典型變量中鍵值對的關(guān)系,將相應(yīng)的字符串進(jìn)行映射替換。原字符串中的字符相當(dāng)于字典中的鍵,新字符串替換后的值為字典中鍵對應(yīng)的值。

替換時按照字典型變量中鍵出現(xiàn)的順序進(jìn)行映射替換,剩余字符串中沒有與鍵匹配的字符,則保留原字符(串)。

set str "Forever young. Bless you."
set char_map [dict create Forever 22 \\
                          " " 33 \\
                          "young" 44 ]
puts "[string map $char_map $str]"
#%  223344.33Bless33you.

舉例:string length/repeat/reverse

string length/repeat/reverse 具有計算長度、重復(fù)字符串、反轉(zhuǎn)字符串的功能。

set str "Hello, Zhihua"
puts [string repeat $str 2]
puts [string length $str]
puts [string reverse $str]
#% Hello, ZhihuaHello, Zhihua
#% 13
#% auhihZ ,olleH

舉例:string tolower/toupper

string tolower/toupper 分別返回字符串的小寫、大寫格式。

puts [string tolower AbcD]
puts [string toupper AbcD]


#% abcd
#% ABCD

舉例:string first/last

string first **str1 **str2 startindex

string first 用于查找第一個字符串在第二個字符串中的位置,并返回第一個匹配的索引值。命令結(jié)尾還可以指定開始查找的索引,即查找范圍為 str2 索引之后的字符串。

string last **str1 **str2 endindex

string last 用于查找第一個字符串在第二個字符串中的位置,并返回最后一個匹配的索引值。命令結(jié)尾還可以指定結(jié)束查找的索引,即查找范圍為 str2 索引之前的字符串。

#index     2    7    12  
set str "Abab 3cab acabb"
puts [string first ab $str]
puts [string first ab $str 5]
puts [string last ab $str]
puts [string last ab $str 10]


#% 2
#% 7
#% 12
#% 7

舉例:string trim/trimleft/trimright

string trim/trimleft/trimright $str chars

根據(jù)指定的多個字符 chars,string trim/trimleft/trimright 依次刪除字符串 $str 兩端、左側(cè)、右側(cè)的字符。只要字符串兩端、左側(cè)、右側(cè)的字符存在于指定的 chars 中,則會依次被刪除,直至遇到不存在與 chars 中的字符。

如果沒有指定 chars 選項,則默認(rèn)刪除空格、制表符、換行符。

set str " abccICbcc "
# 默認(rèn)刪除兩邊空格
puts [string trim $str]
# 指定 chars 時不要忘記輸入空格
puts [string trim $str "abc "]
# 默認(rèn)刪除左邊空格
puts [string trimleft $str]
# 指定 chars 時沒有輸入空格,則字符串不會改變
puts [string trimleft $str "abc"]
# 默認(rèn)刪除右邊空格
puts [string trimright $str]
puts [string trimright $str "bca "]
#% abccICbcc
#% IC
#% abccICbcc 
#%  abccICbcc 
#%  abccICbcc
#%  abccIC

舉例:string wordend/wordstart

string wordend 返回字符串中包含索引字符的單詞的下一個單詞的首個字符的索引。

string wordstart 返回字符串中包含索引字符的單詞的首個字符的索引。

此命令下,任何連續(xù)的字符數(shù)字或者下劃線,或者除此之外的單個字符,例如空格,都被視為一個單詞。

下列示例中,變量有 3 個單詞:For_ever、空格、Young。

# index  0123456789
set str "For_ever Young"
puts [string wordend $str 2]
puts [string wordend $str 8]
puts [string wordend $str 10]
puts [string wordstart $str 2]
puts [string wordstart $str 8]
puts [string wordstart $str 10]


#% 8
#% 9
#% 14
#% 0
#% 8
#% 9

舉例:string is

string is class -strict -failIndex var $str

string is 命令用于判斷字符串的類型,如果字符串符合 TCL 中指定字符類型 ,則返回值為1 ,否則為 0。

當(dāng)指定 -strict 選項時,對于所有 class 字符類型,當(dāng)字符串為空時返回值為 1。如果不指定,遇到空字符串時返回值為 1 。

當(dāng)指定了 -failIndex var 選項時,該命令會把第一個不符合 class 類別字符的索引保存到變量 var 中。如果返回值為1,則不進(jìn)行賦值操作。但是當(dāng) class 為 boolean、ture 或 false 類型時,如果返回值為 0 ,var 會被設(shè)置為0。

這里簡單介紹下 Unicore 碼:統(tǒng)一碼,又稱單一碼(Unicode),它為每種語言中的每個字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,以滿足跨語言、跨平臺進(jìn)行文本轉(zhuǎn)換、處理的要求。而大多數(shù)計算機采用 ASCII 碼是表示所有大小寫字母、數(shù)字、標(biāo)點符號和控制字符的 7 位編碼方案。統(tǒng)一碼包含 128 個 ASCII 碼字符。

TCL 字符串系統(tǒng)類型 class 取值如下。

alpha Unicore 字母 double 雙精度浮點型,可以包含空格
alnum Unicore 字母或數(shù)字 list 有效的列表結(jié)構(gòu)
ascii ASCII 字符 boolean 布爾型值
lower Unicore 小寫字母 true 布爾型值:真
upper Unicore 大寫字母 false 布爾型值:假
wordchar 字母數(shù)字或連接符 control Unicore 控制字符
digit Unicore 數(shù)字 graph 除空格外的 Unicore 打印字符
xdigit 十六進(jìn)制字符 print 包含空格的 Unicore 打印字符
integer 32 位整數(shù)型 punct Unicore 的標(biāo)點符號
wideinteger 64 位長整數(shù)型 space Unicore 的空白字符

現(xiàn)在對各種 class 類型進(jìn)行舉例說明,返回值均為 1 。

string is alpha "?éα?以及漢字"
string is alnum "1234?éα?以及漢字"
string is ascii "Forever"
string is lower "forever"
string is upper "FOREVER"
string is wordchar "Stu_No3"
string is digit 1234
string is xdigit "\\x33"
string is integer 1234
string is wideinteger 1234


string is double 1e-3
string is list {Forever Young .}
string is boolean yes
string is true 1
string is false false
string is control \\n
string is graph "£±2"
string is print " £±2 "
string is punct "。\\/"
string is space "    "

下面為返回值均為 0 的幾個簡單示例。

string is alpha "1234?éα?以及漢字"
string is ascii "。"
string is lower "Forever"
string is digit 123.45
string is punct " 。\\/ "
string is space "a b c"

下面是 -strict 選項的簡單示例。

string is alpha ""
string is integer ""
string is alpha -strict ""
string is integer -strict ""


#% 1
#% 1
#% 0
#% 0

下面是 -failindex 選項的簡單示例。

set str "MaryIs32."
string is alpha -failindex index $str
puts "Failed index: $index"
puts "Failed char: [string index $str $index]"


Failed index: 6
Failed char: 3

字符串匹配(string match)將在下一節(jié)說明。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • TCL
    TCL
    +關(guān)注

    關(guān)注

    11

    文章

    1774

    瀏覽量

    89456
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    589

    瀏覽量

    20904
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    719

    瀏覽量

    22621
  • string
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    4834
收藏 人收藏

    評論

    相關(guān)推薦

    STRING VHDL程序

    STRING VHDL程序,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-11 11:55 ?0次下載

    Tcl學(xué)習(xí):string compare命令對字符串的比較

    string equal則是對兩個字符串進(jìn)行簡單的比較,如兩者嚴(yán)格相同,則返回1,否則返回0(與stringcompare的返回值是不同的)。
    的頭像 發(fā)表于 09-23 10:10 ?9128次閱讀

    MATLAB的常用命令合集詳細(xì)資料免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是MATLAB的常用命令合集詳細(xì)資料免費下載,匯集MATLAB命令,快速查詢MATLAB命令含義,適合初學(xué)者。
    發(fā)表于 11-09 08:00 ?16次下載
    MATLAB的常用<b class='flag-5'>命令</b><b class='flag-5'>合集</b>詳細(xì)資料免費下載

    linux的History命令代碼的詳細(xì)資料合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是linux的History命令代碼的詳細(xì)資料合集免費下載。
    發(fā)表于 11-19 08:00 ?2次下載

    Vim的命令合集

    命令歷史以:和/開頭的命令都有歷史紀(jì)錄,可以首先鍵入:或/然后按上下箭頭來選擇某個歷史命令
    的頭像 發(fā)表于 02-03 17:26 ?2714次閱讀

    176條DevOps人員常用的linux命令速查表資料合集

    本文檔詳細(xì)介紹的是176條DevOps人員常用的linux命令速查表資料合集
    的頭像 發(fā)表于 03-30 10:17 ?4080次閱讀

    AUTO CAD命令的中英文對照查詢表資料合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是AUTO CAD命令的中英文對照查詢表資料合集免費下載。
    發(fā)表于 04-28 08:00 ?3次下載
    AUTO CAD<b class='flag-5'>命令</b>的中英文對照查詢表資料<b class='flag-5'>合集</b>免費下載

    紅帽linux命令合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是紅帽linux命令合集免費下載。
    發(fā)表于 06-26 16:27 ?4次下載

    Linux的命令大全合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux的命令大全合集免費下載。
    發(fā)表于 08-13 08:00 ?5次下載
    Linux的<b class='flag-5'>命令</b>大全<b class='flag-5'>合集</b>免費下載

    MATLAB仿真命令集的資料合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是MATLAB仿真命令集的資料合集免費下載。
    發(fā)表于 09-11 17:04 ?15次下載
    MATLAB仿真<b class='flag-5'>命令</b>集的資料<b class='flag-5'>合集</b>免費下載

    CAD的快捷鍵命令合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是CAD的快捷鍵命令合集免費下載。
    發(fā)表于 12-16 08:00 ?4次下載
    CAD的快捷鍵<b class='flag-5'>命令</b><b class='flag-5'>合集</b>免費下載

    如何使用C語言實現(xiàn)動態(tài)擴容的string

    眾所周知,C++ 中的string使用比較方便,關(guān)于C++ 中的string源碼實現(xiàn)可以看我的這篇文章:源碼分析C++的string的實現(xiàn)
    的頭像 發(fā)表于 10-25 10:59 ?2178次閱讀

    u-boot常用的命令合集

    u-boot常用的命令合集
    發(fā)表于 02-11 09:50 ?2次下載

    UTF8String是如何編碼的?

    UniversalString和UTF8String 都支持完全相同的字符集,前64K 字符都是BMPString 中的字符集。請注意,BMPString 的前128 個字符與IA5String
    的頭像 發(fā)表于 08-26 09:55 ?2389次閱讀
    UTF8<b class='flag-5'>String</b>是如何編碼的?

    bigdecimal轉(zhuǎn)string類型

    將BigDecimal轉(zhuǎn)換為String類型是在Java編程中常常遇到的一個問題。BigDecimal是Java中用于表示高精度十進(jìn)制數(shù)的類,而String則是用于表示文本字符串的數(shù)據(jù)類型。在某些
    的頭像 發(fā)表于 11-30 11:09 ?6741次閱讀
    主站蜘蛛池模板: 99久久精品久久久久久婷婷 | 亚洲成人在线播放 | www.欧美黄色| 色综合一区 | 亚洲精品色图 | 在线观看免费视频国产 | 亚洲68283精品人体 | 操人网站 | 亚洲一区二区三区影院 | 黄色日本视频网站 | 欧美猛交喷潮在线播放 | 一级久久久 | 日本精品视频一视频高清 | 久久99精品久久久久久秒播 | 日韩精品三级 | 天堂成人精品视频在线观 | 欧美不卡视频在线观看 | 激情五月五月婷婷 | 奇米米奇777 | 操操插插| 天堂亚洲网 | 丁香六月婷婷激情 | 在线免费观看91 | 米奇777色狠狠8888影视 | 欧美第一网站 | 三级视频网站在线观看播放 | 久久精品视频观看 | 国产精品1区2区3区在线播放 | 欧美三级免费网站 | 在线观看黄日本高清视频 | 三级国产在线观看 | h在线观看视频 | 男人的天堂午夜 | a天堂中文在线 | 婷婷六月色 | 九色在线看 | 97色在线视频观看香蕉 | 久久精品国产精品亚洲毛片 | 婷婷亚洲视频 | 老司机成人精品视频lsj | 人人干人人看 |