0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Tcl學習之如何獲取字符?

電子工程師 ? 來源:未知 ? 作者:工程師李察 ? 2018-09-23 10:12 ? 次閱讀

在Tcl中并不需要顯示地指定變量的數(shù)據(jù)類型,因為Tcl本身將所有的變量值視為字符串,并將他們作為字符串來保存,可見,字符串在Tcl中扮演著舉足輕重的角色。

Tcl本身提供了很多字符串操作命令,而且很多對字符串操作的命令是以string開頭的。例如,string index可獲取指定位置的字符,而string range可獲取指定區(qū)間的字符。這里就要提到Tcl中的字符串索引。如下圖所示,對于字符串“Hello World”,索引由0開始,對應字符H,索引end對應字符d(Hello和World之間的空格也是占一個位置的)。

Tcl學習之如何獲取字符?

借助string index命令,可返回指定字符串在指定索引處的值。string index需要兩個參數(shù),第一個參數(shù)是字符串,第二個參數(shù)是相應的索引,如下圖所示。

如果指定索引不在字符串索引值的范圍內(nèi),例如設(shè)置所引值為11,則返回空(不是空格),如下圖所示。

在索引中使用end時,可以使用數(shù)學表達式,但是該數(shù)學表達式中不能有空格,如下圖所示。

如果要返回指定區(qū)間的字符,就要用到string range命令。該命令需要三個參數(shù),第一個參數(shù)為字符串,第二個參數(shù)是第一個索引,第三個參數(shù)是第二個索引。如下圖所示,同樣地,在使用end時,表達式中不能有空格。

另外,string range中的兩個索引,前者應小于或等于后者,如果大于后者,則返回空,如下圖所示,如果等于后者,則與string index命令一致。

如果要獲取字符串的長度,可借助string length命令。如下圖所示。

結(jié)論:

-Tcl中所有變量值均被視為字符串

-借助兩個命令string index和string range可獲取字符

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • TCL
    TCL
    +關(guān)注

    關(guān)注

    10

    文章

    1725

    瀏覽量

    88610
  • 字符
    +關(guān)注

    關(guān)注

    0

    文章

    233

    瀏覽量

    25210
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    579

    瀏覽量

    20518

原文標題:Tcl的字符串操作:獲取字符

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    labview截取字符串時為什么不能顯示出字符串中的漢字

    我要輸出數(shù)量字符串中的最后一個字符,使用截取字符串時輸出的最后一個字符是數(shù)字或字母時子字符串可以正常顯示出該
    發(fā)表于 05-05 11:11

    labview從一個特定的字符開始讀取字符

    ,制表符后面是一個“-0.481754”,后面接著是一個制表符,再接著是一個“0.876307”,我怎樣才能讀取第一個制表符與第二個制表符之間的數(shù)據(jù)?有人可能說用截取字符串?不行!因為
    發(fā)表于 01-16 15:35

    LABVIEW中使用tdms存取字符串數(shù)組的問題

    出來的數(shù)據(jù)類型是波形,提取波形信息后沒有辦法直接索引連接字符串類型的輸出,究竟應該怎么用TDMS存取字符串類型的數(shù)據(jù)呢?
    發(fā)表于 08-15 17:26

    Proteus字符式LCD顯示字符

    Proteus字符式LCD顯示字符串,很好的Proteus資料,快來下載不學習吧。
    發(fā)表于 04-18 17:11 ?0次下載

    Proteus字符式LCD顯示漢字

    Proteus字符式LCD顯示漢字,很好的Proteus資料,快來下載不學習
    發(fā)表于 04-19 09:32 ?0次下載

    Proteus字符式LCD顯示時間

    Proteus字符式LCD顯示時間,很好的Proteus資料,快來下載不學習吧。
    發(fā)表于 04-19 09:32 ?0次下載

    Labview取字符

    Labview取字符串,很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:23 ?0次下載

    Labview連接字符

    Labview連接字符串,很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:23 ?0次下載

    Labview搜索替換字符

    Labview搜索替換字符串,很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:23 ?0次下載

    Labview替換子字符

    Labview替換子字符串,很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:43 ?0次下載

    Labview字符串長度函數(shù)

    Labview字符串長度函數(shù),很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:43 ?0次下載

    Labview字符轉(zhuǎn)小數(shù)

    Labview字符轉(zhuǎn)小數(shù),很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:50 ?0次下載

    學習Tcl來這里:字符串匹配

    這里可以看到[a-z0-9]和[a-z][0-9]是不同的,前者匹配一個字符,后者匹配兩個字符,其種一個為字母,另一個為數(shù)字,所以字符串9s與[a-z0-9]*匹配,但與[a-z][0-9]*不匹配。這里模式
    的頭像 發(fā)表于 09-21 11:14 ?5578次閱讀

    取字符串的C語言程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是讀取字符串的C語言程序免費下載。
    發(fā)表于 04-11 17:18 ?10次下載
    讀<b class='flag-5'>取字符</b>串的C語言程序免費下載

    西門子PLC中如何讀取字符里數(shù)?

    我們會用PC給西門子PLC發(fā)送幾個字符,我們?nèi)绾巫x取字符呢? 我們先要進行一個BCD轉(zhuǎn)2進制的轉(zhuǎn)換,然后再運用減法取出我們需要的數(shù) 1.將字符存儲的字節(jié)轉(zhuǎn)存到字里 MOVE (分配值)通過啟用EN輸入來激活。在IN輸入端指定的值
    的頭像 發(fā)表于 01-02 11:09 ?7314次閱讀
    西門子PLC中如何讀<b class='flag-5'>取字符</b>里數(shù)?