在Tcl中并不需要顯示地指定變量的數(shù)據(jù)類(lèi)型,因?yàn)門(mén)cl本身將所有的變量值視為字符串,并將他們作為字符串來(lái)保存,可見(jiàn),字符串在Tcl中扮演著舉足輕重的角色。
Tcl本身提供了很多字符串操作命令,而且很多對(duì)字符串操作的命令是以string開(kāi)頭的。例如,string index可獲取指定位置的字符,而string range可獲取指定區(qū)間的字符。這里就要提到Tcl中的字符串索引。如下圖所示,對(duì)于字符串“Hello World”,索引由0開(kāi)始,對(duì)應(yīng)字符H,索引end對(duì)應(yīng)字符d(Hello和World之間的空格也是占一個(gè)位置的)。
借助string index命令,可返回指定字符串在指定索引處的值。string index需要兩個(gè)參數(shù),第一個(gè)參數(shù)是字符串,第二個(gè)參數(shù)是相應(yīng)的索引,如下圖所示。
如果指定索引不在字符串索引值的范圍內(nèi),例如設(shè)置所引值為11,則返回空(不是空格),如下圖所示。
在索引中使用end時(shí),可以使用數(shù)學(xué)表達(dá)式,但是該數(shù)學(xué)表達(dá)式中不能有空格,如下圖所示。
如果要返回指定區(qū)間的字符,就要用到string range命令。該命令需要三個(gè)參數(shù),第一個(gè)參數(shù)為字符串,第二個(gè)參數(shù)是第一個(gè)索引,第三個(gè)參數(shù)是第二個(gè)索引。如下圖所示,同樣地,在使用end時(shí),表達(dá)式中不能有空格。
另外,string range中的兩個(gè)索引,前者應(yīng)小于或等于后者,如果大于后者,則返回空,如下圖所示,如果等于后者,則與string index命令一致。
如果要獲取字符串的長(zhǎng)度,可借助string length命令。如下圖所示。
結(jié)論:
-Tcl中所有變量值均被視為字符串
-借助兩個(gè)命令string index和string range可獲取字符
-
TCL
+關(guān)注
關(guān)注
10文章
1722瀏覽量
88566 -
字符
+關(guān)注
關(guān)注
0文章
233瀏覽量
25199 -
字符串
+關(guān)注
關(guān)注
1文章
578瀏覽量
20506
原文標(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)論