字符串处理
字符串的表示
-
字符串是用单引号括起来的字符序列
-
如果字符串中字符含有单引号,则该单引号字符要用两个单引号表示
>> 'I''m a student' ans = 'I'm a student'
-
建立多行字符串,形成字符串矩阵
- 多行字符串的列数必须都相等,用空格调节
%求ch的1到5位的字符串、反向表示、小写字母转成大写字母及ch的长度
ch = 'ABc123Def456';
%ch的1到5位的字符串
subch = ch(1:5);
subch
%反向表示
revch = ch(end:-1:1);
revch
%小写字母转成大写字母
k = find(ch>='a'&ch<='z');
ch(k) = ch(k)-('a'-'A');
ch
%ch的长度
length(ch)
%下面是结果
subch =
'ABc12'
revch =
'654feD321cBA'
ch =
'ABC123DEF456'
ans =
12
字符串的操作
- 字符串的执行
- 格式:eval(s)
- s:字符串
- 作用:将字符串转换成对应matlab中的命令执行
- 格式:eval(s)
- 字符串与数值之间的转换
- abs函数和double函数:将字符串转化成对应的ASCII码矩阵
- char函数:将ASCII码转化成对应的字符串矩阵
- 字符串的比较
- 利用关系运算
- 两个字符串长度相等
- 依次对对应ASCII码进行比较
- 结果是一个数值(0或1)向量
- 利用字符串比较函数
- 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
- 利用关系运算
- 字符串的查找和替换
- findstr(s1,s2):返回短字符串在长字符串中的开始的位置
- strrep(s1,s2,s3):将s1中的子字符串s2替换为字符串s3