在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)