一、字符串的表示
在MATLAB中,字符串使用单引号括起来的字符序列。
例如:
>> xm='Central South University'
xm =
Central South University
>> xm(1:3)
ans =
Cen
若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示。
例如:
>> 'I''m a teacher.'
ans =
I'm a teacher.
建立多行字符串,形成字符串矩阵。
如果是字符串不相等,需要用空格将字符元素较少的字符串补全。
例如:
>> ch=['abcdef';'123456'];
>> ch(2,3)
ans =
3
>> ch=['abcdef';'12345 ';]
ch =
abcdef
12345
建立一个字符串向量,然后对该向量做如下处理:
示例:
1、取第1~5个字符组成的子字符串。
>> ch='ASD123asd';
>> subch=ch(1:5)
subch =
ASD12
2、将字符串倒过来重新排列
>> revch=ch(end:-1:1)
revch =
dsa321DSA
3、将字符串中的小写字母变成相应的大写字母,其余字符不变。
k的输出值是对应小写字母在字符串中的序号。*
>> k=find(ch>='a'&ch<='z')
k =
7 8 9
统计字符串中小写字母的个数。
>> ch(k)=ch(k)-('a'-'A')
ch =
ASD123ASD
>> length(k)
ans =
3
二、字符串的执行
eval函数
实际上是把字符串的的参数作为MATLAB命令来执行的,所以最后就是把一个向量赋给了变量y。
>> t=pi;
>> m='[t,sin(t),cos(t)]';
>> y=eval(m)
y =
3.1416 0.0000 -1.0000
三、字符串与数值之间的转换
二者都可以用来获取字符串矩阵所对应的ASCLL码数值矩阵。
char函数可以把ASCLL码矩阵转换为字符串矩阵。
abs函数、char函数
>> s1='MATLAB';
>> a=abs(s1)
a =
77 65 84 76 65 66
>> char(a+32)
ans =
matlab
四、字符串的比较
字符串的比较有两种方法:利用关系运算符或字符串比较函数。
关系运算符比较:两个字符串里的每一个字符依次按ASCLL值大小进行比较,比较的结果是一个数值向量,向量中的元素要么是1,要么是0。
例如:
>> 'www0'>='W123'
ans =
1 1 1 0
本文主要介绍MATLAB中字符串的处理。包括字符串的表示,如用单引号括起,含单引号时用两个单引号表示;字符串的执行,通过eval函数将字符串参数作为命令执行;字符串与数值的转换,可用abs、char函数;以及字符串的比较,有利用关系运算符或字符串比较函数两种方法。
1041

被折叠的 条评论
为什么被折叠?



