Matlab字符串处理的学习笔记

1.在Matlab中,字符串是用单引号括起来的字符序列。

>> xm='Central South University';
>> xm(1:3)

ans =

    'Cen'

2.若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示。

>> 'I''m a teacher.'

ans =

    'I'm a teacher.'

3.建立多行字符串,形成字符串矩阵。

>> ch=['abcdef';'123456'];
>> ch(2,3)

ans =

    '3'

4.字符串的操作
(1)字符串的执行
格式:eval(s)
s为字符串

>> t=pi;
>> m='[t,sin(t),cos(t)]';
>> y=eval(m)

y =

    3.1416    0.0000   -1.0000

(2)字符串与数值之间的转换
1⃣️abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。
2⃣️char函数可以把ASCII码矩阵转换为字符串矩阵。

>> s1='MATLAB';
>> a=abs(s1)

a =

    77    65    84    76    65    66

>> char(a+32)

ans =

    'matlab'

(3)字符串的比较
1⃣️字符串的比较有两种方法:利用关系运算符或字符串比较函数。
2⃣️关系运算符比较:两个字符串里的每个字符依次按ASCII值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1,要么是0 。


>> 'www0'>='W123'

ans =

   1   1   1   0

3⃣️字符串比较函数用于判断字符串是否相等,有4种比较方式。

strcmp(s1,s2)

用来比较字符串s1和s2是否相等,如果相等,返回结果为1,否则返回0 。

strncmp(s1,s2,n)

用来比较两个字符串前n个字符是否相等,如果相等,返回1,否则返回0 。

strcmpi(s1,s2)

在忽略字母大小写前提下,比较字符串s1和s2是否相等,如果相等,返回1,否则,返回0 。

strncmpi(s1,s2,n)

在忽略字符串大小写前提下,比较两个字符串前n个字符是否相等,如果相等,返回1,否则返回0 。

>> strcmp('www0','w123')

ans =

   0

>> strncmpi('Www0','w123',1)

ans =

   1

4⃣️字符串的查找与替换

findstr(s1,s2)

返回短字符串在长字符串中的开始位置。

strrep(s1,s2,s3)

将字符串s1中的所有子字符串s2替换为字符串s3 。

>> findstr('This is a test1!','is')

ans =

     3     6

>> p=findstr('is','This is a test!')

p =

     3     6

>> result=strrep('This is a test!','test','class')

result =

    'This is a class!'

你可能感兴趣的:(matlab基础)