在MATLAB中,有一些對於字符串操作的函數,通過這些函數可以使對於字符串的操作十分簡單,現在,就來介紹一些對於字符串的基本操作:
建立一個字符串向量,然后對該向量做如下處理:
(1)取 2~6 個字符組成子字符串。
(2)分別取第偶數個字符組成子字符串。
(3)取出里面的數字並轉化為數值,然后求和。
(4)去掉字符串中的數字字符。
(5)將字符串按照倒序重新排列。
(6)將字符串中的小寫字母變成大寫字母,其他不變。
(7)統計字符串中消息字母的個數
首先創建一個字符串,用變量str存儲,並輸出,代碼如下:
string='lin12g13o1343n53153g154x6i547a 548o645s865h9e56ng';
disp(string);
隨機提取若干字符,並組成新的字符:
str1=string(3:8);
disp(str1);
提取偶數個字符,並組成一個新的字符串,首先求解出該字符串的長度,存在變量str_long中,然后從字符串的第二個開始取,間隔步長為2,直至最后。
str_long=length(string);
str2=string(2:2:str_long);
disp(str2);
首先提取字符串中所有的數字,然后用str2num()函數將數字由字符型轉換成數值型,接着進行求和。
sum=0;
n=0;
for i=1:str_long
if string(1,i) > '0' & string(1,i) < '9'
num_str=string(1,i);
% disp(num_str);
n=n+1;
sum=sum+str2num(num_str);
end
end
disp('sum of number');
disp(sum);
首先做出判斷,找出所有的字符,並存在一個新的字符串里面,最后用strrep(),函數去除字符串里面所有的空格。
x=1;
for i=1:str_long
if (string(1,i)-'a'>=0 & string(1,i)-'a'< 26)||(string(1,i)-'A'>=0 & string(1,i)-'A'< 26)
str_str(1,x)=string(1,i);
x=x+1;
end
end
str_str=strrep(str_str,' ','');
disp(str_str);
倒序輸出字符串:
unstring=string(end:-1:1);
disp(unstring);
upper()函數將字母由小寫轉換為大寫,lower()函數將字母由大寫轉換為小寫,然后其余不是26個英文字母的,按原格式輸出。
for i=1:str_long
n=string(1,i);
if n>='a' && n<='z'
s(1,i)=upper(n);
elseif n>='A' && n<='Z'
s(1,i)=lower(n);
else
s(1,i)=n;
end
end
disp(s);
計算字符串中所有除空格意外的字符所占內存之和。
b = strtrim(string);
blen = length(b)
