在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ū)分大小寫,如下圖所示。
還可以通過(guò)-length選項(xiàng)指定對(duì)字符串的前l(fā)ength個(gè)字符進(jìn)行比較操作,如下圖所示。這里可以看到-length的在命令中的正確位置。
盡管字符串比較支持直接使用數(shù)學(xué)表達(dá)式(> 、<和==),但從代碼風(fēng)格和執(zhí)行效率的角度而言,string compare和string equal更為高效。如下圖所示,通過(guò)timing命令可獲取Tcl命令的執(zhí)行時(shí)間,對(duì)比下來(lái),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)注
10文章
1712瀏覽量
88405 -
字符串
+關(guān)注
關(guān)注
1文章
575瀏覽量
20470 -
命令
+關(guān)注
關(guān)注
5文章
676瀏覽量
21965
原文標(biāo)題:Tcl的字符串操作:比較字符串
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論