MATLAB 7 字符串操作

 1. 字符串的設定
在MATLAB 7中的字符串一般是ASCII值的數值數組,它作爲字符串表達式進行顯示。MATLAB 7對字符串的設定非常簡單,只需用單引號(’)將需設定的字符串引注即可。
>> str='I have many good friends!'
str =
I have many good friends!
>> whos
Name Size Bytes Class Attributes
str 1x25 50 char

2. 字符串的操作
字符串元素的讀取
-利用數組操作工具進行讀取
-使用disp函數顯示字符串
>> str='I have many good friends!';
>> str
str =
I have many good friends!
>> str(3)
ans =
h
>> disp(str)
I have many good friends!



字符串的基本變換

字符串的ASCII碼操作
使用char函數進行逆變換
字符串的執行
>> for n = 2:3
eval(['M' num2str(n) ' = magic(n)'])
end
M2 =
1 3
4 2
M3 =
8 1 6
3 5 7
4 9 2

常見字符串的操作
函數名      函數用途
strcat        鏈接字符串
strcmp      比較字符串大小
findstr       在其他的字符串中尋找該字符串
strmatch   查找可能匹配的字符串
strtok        查找字符串中的記號
deblank    刪除字符串內的空格
iscellstr    字符串的單元檢驗
isspace    空格檢驗
strvcat      垂直鏈接字符串
strncmp    比較字符串的前n個字符
strjust       證明字符數組
strrep       用其他字符串代替改串
blanks      生成空的字符串
ischar       字符串檢驗
isletter      字母檢驗
strings      strings函數的幫助

字符串的運算

字符串的運算主要是指判斷字符串是否相等,通過字符的運算來比較字符,字符串中字符的分類、查找與替換、字符串與數值的轉換和數組與字符串的轉換等。
有兩個函數可以用來判斷兩個輸入的字符串是否相等。
strcmp函數:  比較兩個字符串是否相等,當相等時,系統將返回值1,不相等時,返回值0;
strncmp函數:比較兩個輸入字符串的前幾個字符是否相等,當相等時,系統將返回值1,不相等時,返回值0。

通過字符的運算比較字符
符號形式-----符號意義----英文簡寫-----------
==             等於            eq
~=            不等於         ne
<              小於              lt
>               大於             gt
<=          小於或等於  le
>=          大於或等於  ge

字符串中字符的分類
字符串中的字符通常可以分爲空白字符、字母字符和其他類型的字符。用戶可以用isletter和isspace兩個函數來對字符串中的字符進行分類 。
>> realstring='goodplane.com '
realstring =
goodplane.com
>> A=isspace(realstring)
A =
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1


查找與替換

查找與替換是字符串操作中的一項重要內容,MATLAB 7語言提供了findstr、strfind和strrep等函數來實現查找與替換操作。
>> str1='我的名字是千千闕歌';
>> str2=strrep(str1,'千千闕歌','歌聲依舊')
str2 =
我的名字是歌聲依舊


字符串與數值的轉換
常見的字符串轉換函數
函數------------------------- 功能------------------
hex2dec                          將16進制字符串轉化爲10進制整數
bin2dec                           將2進制字符串轉化爲10進制整數
base2dec                        轉化B底字符串爲10進制整數
upper                                改該字符串爲大寫
fprintf                                 把格式化的文本寫到文件中或顯示屏上
sscanf                               用格式控制,字符串轉換成數字
num2str                            數字轉換成字符串
dec2hex                            將10進制整數轉化爲16進制字符串
dec2bin                             將10進制整數轉化爲2進制字符串
hex2num                           將16進制字符轉化爲雙精度數
lower                                  改該字符串爲小寫
sprintf                                 用格式控制,數字轉換成字符串
char                                    ASCII碼轉換成字符串
int2str                                 整數轉換成字符串

使用str2num函數將字符型矩陣轉換爲數字矩陣
>> S = ['1 2';'3 4']
S = % S爲字符型矩陣
1 2
3 4
>> S2=str2num(S)
S2 = %S2爲數字型矩陣
1 2
3 4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章