1.在matlab中,字串是用單引號括起來的字串行。
>> xm=
'central south university'
;>>xm(
1:3)
ans =
'cen'
2.若字串中的字元含有單引號,則該單引號字元要用兩個單引號來表示。
>>
'i''m a teacher.'
ans =
'i'm a teacher.'
3.建立多行字串,形成字串矩陣。
>> ch=
['abcdef'
;'123456'];
>>ch(
2,3)
ans =
'3'
4.字串的操作
(1)字串的執行
格式:eval(s)
s為字串
>> t=pi;
>> m=
'[t,sin(t),cos(t)]'
;>> y=
eval
(m)y =
3.1416
0.0000
-1.0000
(2)字串與數值之間的轉換
1⃣️abs和double函式都可以用來獲取字串矩陣所對應的ascii碼數值矩陣。
2⃣️char函式可以把ascii碼矩陣轉換為字串矩陣。
>> s1=
'matlab'
;>> a=
abs(s1)
a =77
6584
7665
66>>
char
(a+32
)ans =
'matlab'
(3)字串的比較
1⃣️字串的比較有兩種方法:利用關係運算子或字串比較函式。
2⃣️關係運算子比較:兩個字串裡的每個字元依次按ascii值大小逐個進行比較,比較的結果是乙個數值向量,向量中的元素要麼是1,要麼是0 。
>>
'www0'
>=
'w123'
ans =11
10
3⃣️字串比較函式用於判斷字串是否相等,有4種比較方式。
strcmp
(s1,s2)
用來比較字串s1和s2是否相等,如果相等,返回結果為1,否則返回0 。
strncmp
(s1,s2,n)
用來比較兩個字串前n個字元是否相等,如果相等,返回1,否則返回0 。
strcmpi
(s1,s2)
在忽略字母大小寫前提下,比較字串s1和s2是否相等,如果相等,返回1,否則,返回0 。
strncmpi
(s1,s2,n)
在忽略字串大小寫前提下,比較兩個字串前n個字元是否相等,如果相等,返回1,否則返回0 。
>>
strcmp
('www0'
,'w123'
)ans =
0>>
strncmpi
('www0'
,'w123',1
)ans =
1
4⃣️字串的查詢與替換
findstr
(s1,s2)
返回短字串在長字串中的開始位置。
strrep
(s1,s2,s3)
將字串s1中的所有子字串s2替換為字串s3 。
>>
findstr
('this is a test1!'
,'is'
)ans =36
>> p=
findstr
('is'
,'this is a test!'
)p =36
>> result=
strrep
('this is a test!'
,'test'
,'class'
)result =
'this is a class!'
matlab字串處理
matlab字串處理 字串處理 a a b b b c cccc m 獲取字串長度 length a 連線兩個字串,每個字串最右邊的空格被裁切 d strcat a,c length d 連線多行字串,每行長度可不等,自動把非最長字串最右邊補空格 使與最長字串相等,會忽略空字串 e strvcat ...
Matlab字串處理
length a 獲取字串長度 d strcat a,c 連線兩個字串,每個字串最右邊的空格被裁切 strcmp 比較兩個字串是否完全相等,是,返回真,否則,返回假 strncmp 比較兩個字串前n個字元是否相等,是,返回真,否則,返回假 strcmpi 比較兩個字串是否完全相等,忽略字母大小寫 s...
matlab字串處理
matlab字串處理 字串處理 a a b b b c cccc m length a 獲取字串長度 str str1,str2 無縫連線兩個字串 d strcat a,c 連線兩個字串,每個字串最右邊的空格被裁切 e strvcat a,b,m 連線多行字串,每行長度可不等,自動把非最長字串最右邊...