MATLAB中的字符串处理

字符串的处理

  • 在MATLAB中,字符串是用单引号括起来的字符序列
  • 若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示
  • 在MATLAB中,下标索引都是从1开始

案例:

建立一个字符串向量,然后对该向量做如下处理:

  1. 取第1~5个字符组成的子字符串
  2. 将字符串倒过来重新排列
  3. 将字符串中的小写字母变成相应的大写字母,其余字符不变
  4. 统计字符串中小写字母的个数

代码如下:

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)

运行结果:

  • 字符串的比较

字符串的比较有两种方法:利用关系运算符字符串比较函数

  1. 关系运算符比较:两个字符串里的每个字符依次按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

猜你喜欢

转载自blog.csdn.net/qq_39368007/article/details/81806039