在Tcl中并不需要顯示地指定變量的數(shù)據(jù)類型,因?yàn)門cl本身將所有的變量值視為字符串,并將他們作為字符串來保存,可見,字符串在Tcl中扮演著舉足輕重的角色。
Tcl本身提供了很多字符串操作命令,而且很多對字符串操作的命令是以string開頭的。例如,string index可獲取指定位置的字符,而string range可獲取指定區(qū)間的字符。這里就要提到Tcl中的字符串索引。如下圖所示,對于字符串“Hello World”,索引由0開始,對應(yīng)字符H,索引end對應(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命令一致。
如果要獲取字符串的長度,可借助string length命令。如下圖所示。
結(jié)論:
-Tcl中所有變量值均被視為字符串
-借助兩個(gè)命令string index和string range可獲取字符
-
TCL
+關(guān)注
關(guān)注
10文章
1743瀏覽量
88909 -
字符
+關(guān)注
關(guān)注
0文章
234瀏覽量
25266 -
字符串
+關(guān)注
關(guān)注
1文章
585瀏覽量
20612
原文標(biāo)題:Tcl的字符串操作:獲取字符
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
labview截取字符串時(shí)為什么不能顯示出字符串中的漢字
labview從一個(gè)特定的字符開始讀取字符串
LABVIEW中使用tdms存取字符串?dāng)?shù)組的問題
Proteus之字符式LCD顯示時(shí)間
Labview之字符轉(zhuǎn)小數(shù)
學(xué)習(xí)Tcl來這里:字符串匹配
西門子PLC中如何讀取字符里數(shù)?
![西門子PLC中如何讀<b class='flag-5'>取字符</b>里數(shù)?](https://file.elecfans.com/web1/M00/D5/2D/o4YBAF_ewomAf4KPAAA6rp5Vh4s837.png)
評論