官术网_书友最值得收藏!

2.5.2 對字符串的多項操作

對字符串的操作主要由一組函數實現,這些函數中有求字符串長度和矩陣階數的length(?。┖蛃ize(?。凶址蛿抵迪嗷マD換的double(?。┖蚦har(?。┑?。下面舉例說明用法。

1.求字符串長度

length(?。┖蛃ize( )雖然都能測字符串、數組或矩陣的大小,但用法上有區別。length(?。┲粡乃鼈兏骶S中挑出最大維的數值大小,而size(?。﹦t以一個向量的形式給出所有各維的數值大小。兩者的關系是:length(?。?max(size(?。U堊屑汅w會下面的舉例。

【例2.51】 length( )和size( )函數的用法。

        >> Sa=['I love my teacher,  ' 'I' ' love truths ' 'more profoundly.'];
        >> length(Sa)
        ans =
            49
        >> size(Sa)
        ans =
            1   49
        >> A=[1 2 3;4 5 6];
        >> length(A)
        ans =
            3
        >> A=[1 2 ;4 5; 6 7];
        >> length(A)
        ans =
            3
        >> size(A)
        ans =
            3    2

2.字符串與一維數值數組的相互轉換

字符串是由若干字符組成的,在ASCII碼中,每個字符又可對應一個數值編碼,例如字符A對應65。如此一來,字符串又可在一個一維數值數組之間找到某種對應關系。這就構成了字符串與數值數組之間可以相互轉換的基礎。

【例2.52】 用abs( )、double( )和char( )、setstr(?。崿F字符串與數值數組的相互轉換。

        >> S1='I am nobody';
        >> As1=abs(S1)
        As1 =
            73   32   97   109   32   110   111   98   111   100   121
        >> As2=double(S1)
        As2 =
            73   32   97   109   32   110   111   98   111   100   121
        >> char(As2)
        ans =
        I am nobody
        >> setstr(As2)
        ans =
        I am nobody

3.比較字符串

strcmp(S1, S2)是MATLAB的字符串比較函數,當S1與S2完全相同時,返回值為1;否則,返回值為0。

【例2.53】 strcmp(?。┑挠梅ā?/p>

        >> S1='I am nobody';
        >> S2='I am nobody.';
        >> strcmp(S1, S2)
        ans =
            0
        >> strcmp(S1, S1)
        ans =
            1

4.查找字符串

findstr(S, s)是從某個長字符串S中查找子字符串s的函數。返回的結果值是子串在長串中的起始位置。

【例2.54】 findstr(?。┑挠梅?。

        >> S='I believe that love is the greatest thing in the world.';
        >> findstr(S, 'love')
        ans =
            16

5.顯示字符串

disp(?。┦且粋€原樣輸出其中內容的函數,它經常在程序中做提示說明用。其用法見下例。

【例2.55】 disp( )的用法。

        >> disp(’兩串比較的結果是:'), Result=strcmp(S1, S1), disp(’若為1則說明兩串完全
  相同,為0則不同。')

兩串比較的結果是:

        Result =
            1

若為1則說明兩串完全相同,為0則不同。

除了上面介紹的這些字符串操作函數外,相關的函數還有很多,限于篇幅,不再一一介紹,有需要時可通過MATLAB幫助獲得相關主題的信息。

主站蜘蛛池模板: 电白县| 德保县| 惠水县| 花垣县| 普陀区| 禹州市| 金堂县| 五峰| 夏河县| 闸北区| 涞源县| 绥阳县| 长治市| 顺平县| 安西县| 定边县| 琼结县| 岑巩县| 荔波县| 蚌埠市| 海伦市| 康平县| 论坛| 舒城县| 南华县| 民权县| 沈阳市| 蒙山县| 扶风县| 航空| 房山区| 门头沟区| 汨罗市| 二连浩特市| 清河县| 大方县| 普陀区| 庄河市| 革吉县| 吉木萨尔县| 阳高县|