- MATLAB/Simulink權威指南:開發環境、程序設計、系統仿真與案例實戰
- 徐國保 張冰 石麗梅 吳凡
- 831字
- 2019-12-20 20:33:26
2.5 字符串
字符串是MATLAB語言的一個重要組成部分,MATLAB語言提供強大的字符串處理功能。本節主要介紹字符串的創建,字符串的操作和字符串的轉換等內容。
2.5.1 字符串的創建
在MATLAB語言中,字符串一般以ASCII碼形式存儲,以行向量形式存在,并且每個字符占用兩字節的內存。在MATLAB語言中,創建一個字符串可以用下面幾種方法:
(1)直接將字符內容用單引號('')括起來,例如:

字符串的存儲空間如下所示,所定義的字符串有12個字符,每個字符占用兩字節的內存。

若要顯示單引號(')字符,需要使用兩個單引號,例如:

(2)用方括號連接多個字符串組成一個長字符串,例如:

(3)用函數strcat把多個字符串水平連接合并成一個長字符串,strcat函數語法格式如下:

例如:

(4)用函數strvcat把多個字符串連接成多行字符串,strvcat函數語法格式如下:

例如:

MATLAB語言可以用abs或者double函數獲取字符串所對應的ASCII碼數值矩陣。相反,可以用char函數把ASCII碼轉換為字符串。例如:

【例2-5】 已知一個字符串向量str='It is a Green Bird',完成以下任務:
(1)計算字符串向量的字符個數;
(2)顯示'a Green Bird';
(3)將字符串倒序重排;
(4)將字符串中的大寫字母變成相應的小寫字母,其余字符不變。
MATLAB程序代碼如下:

程序運行結果如下:

2.5.2 字符串的操作
1.字符串比較
MATLAB語言比較兩個字符串是否相同的常用函數有strcmp、strncmp、strcmpi和strncmpi 4個,字符串比較函數的調用格式及功能說明如表2-2所示。
表2-2 字符串比較函數格式及功能

例如:

2.字符串查找和替換
MATLAB語言查找與替換字符串的常用函數有5個:strfind、findstr、strmatch、strtok和strrep。字符串查找函數的調用格式及功能說明如表2-3所示。
表2-3 字符串查找函數

例如:

3.字符串的其他操作
在MATLAB語言中,除了常用的字符串創建、比較、查找和替換操作外,還有許多其他字符串操作,如表2-4所示。
表2-4 字符串其他操作函數

例如:

2.5.3 字符串轉換
在MATLAB語言中,字符串進行算術運算會自動轉換為數值型。MATLAB還提供了許多字符串與數值之間的轉換函數,如表2-5所示。
表2-5 字符串與數值轉換函數

例如,可以利用字符串與數值之間的轉換,對一串字符明文進行加密處理。MATLAB命令代碼如下:
