mach-pupil

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

分类:

技术点:

相关文章: