在matlab中 字串是用單引號括起來的字串行
若字串中有單引號,那就要用兩個單引號來表示
>> 'i''m superman'
ans =
i'm superman
建立多行字串 列數要相同
>> wow=['sadf';'2134']
wow =
sadf
2134
>> wow(2,4)
ans =
4
建立乙個字串向量,然後對該向量作如下處理:
1,取1~5個字元組成的子字串。
2,將字串倒過來重新排列
3,將字串中的小寫字母變成相應的大寫字母,其餘字元不變。
4,統計字串中小寫字母的個數
>> hi(1,1:5)
ans =
abc12
>> hi(end:-1:1)
ans =
9gf65e4d321cba
>> find(hi>='a'&hi<='z')
ans =
3 7 9 13
>> hi(ans)=hi(ans)-('a'-'a')
hi =
abc123d4e56fg9
>> length(ans)
ans =
4
字串執行 eval(s)
>> t=pi;
>> m='[t,sin(t),cos(t)]'
m =[t,sin(t),cos(t)]
>> u=eval(m)
u = 3.1416 0.0000 -1.0000
(2)字串與數值之間的轉換
abs和double函式都可以用來獲取字串矩陣所對應的ascii碼數值矩陣。
char函式可以把ascii碼矩陣轉換為字串矩陣
>> abs('matlab')
ans =
77 65 84 76 65 66
>> char(77)
ans =
m>>char(a+32)
ans=
matlab
(3)字串的比較
字串的比較有兩種方法:利用關係運算子或字串比較函式。
關係運算子比較:按照兩個字串裡的每個字元的ascii碼比較,結果是乙個0 1數值向量,
>> 'sa'<'we'
ans =
1×2 logical 陣列
1 1
字串比較函式用於判斷字串是否相等,有4鐘比較方式
1,strcmp(s1,s2) s1 s2是否相等,是 1 否 0
2,srtncmp(s1,s2,n)比較兩個字串前n個字元是否相等,是1否0
3,strcmpi(s1,s2)忽略大小寫前提下比較是否相等
4,srtncmpi(s1,s2,n)忽略大小寫前提下比較前n個字元是否相等
(3)字串查詢與替換
findstr(s1,s2) 返回字串在長字串中的開始位置。
strrep(s1,s2,s3) 將字串s1中所有子字串s2替換為s3.
ans =
1 11
ans =
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 連線多行字串,每行長度可不等,自動把非最長字串最右邊...