在Tcl中,可利用stringcompare命令對(duì)字符串進(jìn)行比較。該命令需要接收兩個(gè)字符串參數(shù)。如果第一個(gè)字符串在字典中先于第二個(gè)字符串,返回-1;如果第一個(gè)字符串在字典中后于第二個(gè)字符串,返回1,如果兩者相同,返回0,如下圖所示。
string equal則是對(duì)兩個(gè)字符串進(jìn)行簡(jiǎn)單的比較,如兩者嚴(yán)格相同,則返回1,否則返回0(與stringcompare的返回值是不同的),如下圖所示。
string compare和stringequal都是區(qū)分大小寫的,但如果添加選項(xiàng)-nocase,則不再區(qū)分大小寫,如下圖所示。
還可以通過-length選項(xiàng)指定對(duì)字符串的前l(fā)ength個(gè)字符進(jìn)行比較操作,如下圖所示。這里可以看到-length的在命令中的正確位置。
盡管字符串比較支持直接使用數(shù)學(xué)表達(dá)式(> 、<和==),但從代碼風(fēng)格和執(zhí)行效率的角度而言,string compare和string equal更為高效。如下圖所示,通過timing命令可獲取Tcl命令的執(zhí)行時(shí)間,對(duì)比下來,string equal命令耗時(shí)最短。
結(jié)論:
-借助string compare命令可對(duì)字符串進(jìn)行比較
-借助string equal命令可判斷兩個(gè)字符串是否嚴(yán)格相等
-string compare和stringequal都支持-nocase和-length選項(xiàng)
-盡管字符串比較支持直接使用數(shù)學(xué)符合,但使用上述兩個(gè)命令更為高效
-
TCL
+關(guān)注
關(guān)注
11文章
1774瀏覽量
89478 -
字符串
+關(guān)注
關(guān)注
1文章
589瀏覽量
20991 -
命令
+關(guān)注
關(guān)注
5文章
722瀏覽量
22631
原文標(biāo)題:Tcl的字符串操作:比較字符串
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
matlab的一般字符串函數(shù)和字符串比較命令
數(shù)組、向量和字符串 實(shí)驗(yàn)
python字符串拼接方式了解
學(xué)習(xí)Tcl來這里:字符串匹配
字符串string對(duì)象操作的全面總結(jié)

評(píng)論