字符串的表示
在MATLAB中,字符串使用单引号括起来的字符序列
>> xm = 'Haibin Institute of Technology'
xm =
'Haibin Institute of Technology'
>> xm(1:3)
ans =
'Hai'
若字符串中的字符含有单引号,则需要用一个单引号作为转义字符
>> 'I''m a student'
ans =
'I'm a student'
也可以建立字符串矩阵
- 注意,数组中字符串的长度要相同
>> ch = ['abcde'; 'hsadf']
ch =
2×5 char 数组
'abcde'
'hsadf'
>> ch = 'ABc123d4e45Fg9';
>> subch = ch(1:5)
subch =
'ABc12'
>> revch = ch(end:-1:1)
revch =
'9gF54e4d321cBA'
>> k = find(ch>='a' & ch<='z')
k =
3 7 9 13
>> ch(k) = ch(k) - ('a'-'A')
ch =
'ABC123D4E45FG9'
>> length(k)
ans =
4
字符串的操作
字符串的执行
eval(s)
>> t = pi;
>> m = '[t, sin(t), cos(t)]';
>> y = eval(m)
y =
3.1416 0.0000 -1.0000
字符串与数值之间的转换
>> s1 = 'MATLAB';
>> a = abs(s1)
a =
77 65 84 76 65 66
>> char(a+32)
ans =
'matlab'
- 字符串的比较
>> char(a+32)
ans =
'matlab'
>> 'www0' >= 'W123'
ans =
1×4 logical 数组
1 1 1 0
>> strcmp('www0', 'w123')
ans =
logical
0
>> strncmpi('Www0', 'w123', 1)
ans =
logical
1
- 字符串的查找和替换
>> p = findstr('This is a test!', 'is')
p =
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!'