天天看點

《MATLAB圖像處理375例》——1.7 字元串

本節書摘來自異步社群《matlab圖像處理375例》一書中的第1章,第1.7節,作者:matlab技術聯盟著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

matlab圖像處理375例

字元串或串(string)是由數字、字母、下劃線組成的一串字元。字元串在資料的可視化、應用程式的互動方面起到非常重要的作用,建立字元串時需要使用單引号将字元串的内容包括起來,字元串一般以行向量形式存在,并且每一個字元占用兩個位元組的記憶體。

1.7.1 建立字元串

【例1-47】建立字元串時,隻要将字元串的内容用單引号包括起來即可,例如:

運作結果如下:

若需要在字元串内容中包含單引号,則在輸入字元串内容時,連續輸入兩個單引号即可,例如:

運作結果如下。

【例1-48】使用char函數建立一些無法通過鍵盤輸入的字元,該函數的作用是将輸入的整數參數轉變為相應的字元。

1.7.2 基本字元串操作

基本字元串操作主要有字元串元素索引、字元串的拼接、字元串和數值的轉換。下面将進行介紹。

1.字元串元素索引

在matlab中,字元串實際上也是一種向量或者數組,一般利用索引操作數組的方法都可以用來操作字元串。

【例1-49】利用索引操作數組的方法用來操作字元串。

2.字元串的拼接

字元串可以利用“[]”運算符進行拼接,若使用“,”作為不同字元串之間的間隔,則相當于擴充字元串成為更長的字元串向量;若使用“;”作為不同字元串之間的間隔,則相當于擴充字元串成為二維或者多元的數組,這時不同行上的字元串必須具有同樣的長度。

【例1-50】字元串的拼接示例。

3.字元串和數值的轉換

在matlab中,字元串和數值的轉換可以使用char函數将數值轉變為字元,也可以使用double函數将字元轉變成數值。

【例1-51】字元串和數值的轉換示例。

1.7.3 字元串操作函數

在matlab中,字元串操作函數如表1-12所示。

《MATLAB圖像處理375例》——1.7 字元串

【例1-52】deblank函數示例。

【例1-53】ischar函數示例。

【例1-54】組合字元串strcat函數和strvcat函數示例。

【例1-55】查尋索引findstr函數和strfind 函數示例。

【例1-56】對齊排列字元串strjust函數示例。

【例1-57】替換字元串中的子字元strrep 函數示例。

查尋比對的字元串strmatch 函數示例。

【例1-58】改變字元串中字元的大小寫upper函數和lower 函數示例。

1.字元串轉換函數

使用不同的函數可以允許不同類型的資料和字元串類型的資料之間進行轉換,在matlab中直接提供了相應的函數對同樣類型的資料進行數制的轉換,如表1-13、表1-14所示。

《MATLAB圖像處理375例》——1.7 字元串
《MATLAB圖像處理375例》——1.7 字元串

函數str2num在使用時需要注意:被轉換的字元串僅能包含數字、小數點、字元“e”或者“d”、數字的正号或者負号、複數的虛部字元“i”或者“j”,使用時要注意空格,例如。

【例1-59】str2num函數示例。

【例1-60】使用函數num2str将數字轉換成為字元串時,指定字元串所表示的有效數字位數。

【例1-61】其他的轉換函數示例。

2.格式化輸入輸出

matlab可以進行格式化的輸入、輸出,格式化字元串都可以用于matlab的格式化輸入輸出函數,如表1-15所示。

《MATLAB圖像處理375例》——1.7 字元串
《MATLAB圖像處理375例》——1.7 字元串

在matlab中,有sscanf和sprintf這樣兩個函數進行格式化的輸入和輸出,調用方法如下:

【例1-62】sscanf函數示例。

【例1-63】sscanf函數示例(a=sscanf(s,format,size))。

在matlab中,input函數用來完成擷取使用者輸入資料的功能,以滿足能夠和使用者的輸入進行互動的需要,該函數的調用方法如下:

其中,第一個參數prompt為提示用的字元串;第二個參數s,若有s,則輸入的資料為字元串,沒有s,則輸入的資料為雙精度資料。

繼續閱讀