字符串的处理
- 在MATLAB中,字符串是用单引号括起来的字符序列
- 若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示
- 在MATLAB中,下标索引都是从1开始
案例:
建立一个字符串向量,然后对该向量做如下处理:
- 取第1~5个字符组成的子字符串
- 将字符串倒过来重新排列
- 将字符串中的小写字母变成相应的大写字母,其余字符不变
- 统计字符串中小写字母的个数
代码如下:
ch='ABc123d4e56Fg9'
subch=ch(1:5)
revch=ch(end:-1:1)
k=find(ch>'a' & ch<'z')
ch(k)=ch(k)-('a'-'A')
length(k)
运行结果如下:
- 字符串的执行 格式: eval(s) s为字符串
代码如下:
t=pi;
m='[t,sin(t),cos(t)]';
y=eval(m)
运行结果:
- 字符串与数值之间的转换
abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵
char函数可以把ASCII码矩阵转换为字符串矩阵
代码如下:
s1='MATLAB';
a=abs(s1)
char(a+32)
运行结果:
- 字符串的比较
字符串的比较有两种方法:利用关系运算符或字符串比较函数
- 关系运算符比较:两个字符串里的每个字符依次按ASCII值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1,要么是0.
2. 字符串比较函数
strcmp(s1,s2) strncmp(s1,s2,n) strcmpi(s1,s2) strncmp(s1,s2,n)
字符串相等返回1,不等返回0
findstr(s1,s2): 返回短字符串在长字符串中的开始位置
strrep(s1,s2,s3): 将字符串s1中的所有子字符串s2替换为字符串s3