MATLAB學習04之字串運算
阿新 • • 發佈:2018-12-19
字串運算
字串變數與一維字元陣列
字串其實是一個一維字元陣列,在對字串進行操作時,其實就是對一維字元陣列進行操作
字串變數賦值
>> s1 = 'go home' %直接賦值
s1 =
go home
用單引號進行賦值
一維字元陣列的生成
三種方法:
>> Sa = ['I love my teacher, ', 'I' , ' love truths', ' more profoundly'] Sa = I love my teacher, I love truths more profoundly >> Sb = char('a' : 2 : 'r') Sb = acegikmoq >> Sc = char(linspace('e','t',10)) Sc = efhjkmoprt
- 第一種方法是用字串(一維字元陣列)進行拼接
- 第二和第三種都是使用char()函式,char()是將一個數值轉換成字串的函式
>> char([65 97])
ans =
Aa
字串操作
求字串長度
- length()求出陣列各維中最大的數值大小
- size()給出各維數值大小
- length() = max(size())
>> Sa = ['I love my teacher, ', 'I' , ' love truths', ' more profoundly'] Sa = I love my teacher, I love truths more profoundly >> length(Sa) ans = 48 >> size(Sa) ans = 1 48
字串與一維數值
陣列的轉換
- abs(),double()方法可將字串轉換為一個數值陣列
- char()如上介紹
- setstr()也可將數值陣列轉換為字串(一維字元陣列)
>> A = 'I am no nobody' A = I am no nobody >> As1 = abs(A) As1 = 73 32 97 109 32 110 111 32 110 111 98 111 100 121 >> As2 = double(A) As2 = 73 32 97 109 32 110 111 32 110 111 98 111 100 121 >> char(As2) ans = I am no nobody >> setstr(As2) ans = I am no nobody
字串比較
- strcmp(S1,S2),當S1和S2完全相同時,返回1,否則返回0
- strcmp string compare
>> S1 = 'I am no body'
S1 =
I am no body
>> S2 = 'I am no body.' %有一個dot
S2 =
I am no body.
>> strcmp(S1,S2) %不相同,返回0
ans =
0
>> strcmp(S1,S1)
ans =
1