在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之間的空格也是占一個位置的)。

借助string index命令,可返回指定字符串在指定索引處的值。string index需要兩個參數(shù),第一個參數(shù)是字符串,第二個參數(shù)是相應(yīng)的索引,如下圖所示。
如果指定索引不在字符串索引值的范圍內(nèi),例如設(shè)置所引值為11,則返回空(不是空格),如下圖所示。
在索引中使用end時,可以使用數(shù)學(xué)表達(dá)式,但是該數(shù)學(xué)表達(dá)式中不能有空格,如下圖所示。
如果要返回指定區(qū)間的字符,就要用到string range命令。該命令需要三個參數(shù),第一個參數(shù)為字符串,第二個參數(shù)是第一個索引,第三個參數(shù)是第二個索引。如下圖所示,同樣地,在使用end時,表達(dá)式中不能有空格。
另外,string range中的兩個索引,前者應(yīng)小于或等于后者,如果大于后者,則返回空,如下圖所示,如果等于后者,則與string index命令一致。
如果要獲取字符串的長度,可借助string length命令。如下圖所示。
結(jié)論:
-Tcl中所有變量值均被視為字符串
-借助兩個命令string index和string range可獲取字符
-
TCL
+關(guān)注
關(guān)注
11文章
1807瀏覽量
91541 -
字符
+關(guān)注
關(guān)注
0文章
237瀏覽量
26211 -
字符串
+關(guān)注
關(guān)注
1文章
596瀏覽量
23171
原文標(biāo)題:Tcl的字符串操作:獲取字符
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
labview截取字符串時為什么不能顯示出字符串中的漢字
labview從一個特定的字符開始讀取字符串
LABVIEW中使用tdms存取字符串?dāng)?shù)組的問題
Labview之字符轉(zhuǎn)小數(shù)
學(xué)習(xí)Tcl來這里:字符串匹配
西門子PLC中如何讀取字符里數(shù)?
Tcl學(xué)習(xí)之如何獲取字符?
評論