matlab字符串数据字符串的表⽰
⼀般字符串。
在MATLAB中,字符串是⽤单引号括起来的字符序列。
>> xm = 'Central South University'
xm =
'Central South University'
>> xm(1:4)
ans =
'Cent'
多⾏字符串,形成字符串矩阵:
>> ch = ['abcdef';'123456'];
>> ch(2:3)
strcmp比较数组ans =
'1b'
建⽴⼀个字符串向量,然后对向量做如下处理:
(1)取第1~5个字符组成的⼦字符串。
(2)将字符串倒过来重新排列。
(3)将字符串中的⼩写字母变成相应的⼤写字母。
(4)统计字符串中⼩写字母的个数。
>> ch='ABc123d4e56Fg9';
>> subch = ch(1 : 5)
subch =
'ABc12'
>>
>> revch = ch(end:-1:1)
revch =
'9gF65e4d321cBA'
>> k = find(ch >= 'a' && ch <= 'z')
|| 和 && 运算符的操作数必须能够转换为逻辑标量值。
>> k = find(ch >= 'a' & ch <= 'z')
k =
3    7    9    13
>> ch(k) = ch(k) - 32
ch =
'ABC123D4E56FG9'
>> length(k)
ans =
4
字符串的操作
(1)字符串的执⾏
格式eval(s)// s 为字符串
>> t = pi;
>> m = '[t,sin(t),cos(t)]';
>> y = eval(m)
y =
3.1416    0.0000  -1.0000
(2)字符串与数值之间的转换
① abs和double函数都可以把字符串矩阵转成成对应的ASCII码数值矩阵。
② char函数把ASCII码矩阵转换成字符串矩阵。
>> s = 'MATLAB';
>> a = abs(s);
>> a
a =
77    65    84    76    65    66
>> char(a + 32)
ans =
'matlab'
(3)字符串⽐较
直接⽐较:
>> 'wucongrong' >= 'wangyuchen'
ans =
1×10 logical 数组
1  1  0  1  0  0  1  1  1  0
也可以同C语⾔⼀样,有4种⽐较⽅式,函数如下:
①strcmp(s1,s2):⽤来⽐较字符串sl和s2是否相等,如果相等,返回结果为1,否则返回0。
②strncmp(s1,s2,n)∶⽤来⽐较两个字符串前n个字符是否相等,如果相等,返回1,否则返回0。
③ strcmpi(s1,s2):在忽略字母⼤⼩写前提下,⽐较字符串s1和s2是否相等,如果相等,返回1,否则返回0。
④strncmpi(s1,s2.n):在忽略字符串⼤⼩写前提下,⽐较两个字符串前n个字符是否相等,如果相等,返回1,否则返回0。 (4)字符串的查与替换
①findstr(s1,s2):返回短字符串在长字符串中的开始位置;
>> s1 = 'ng';
>> s2 = 'wucongrong';
>> findstr(s1,s2)
ans =
5    9
②strrep(s1,s2,s3):将字符串中的所有⼦字符串s2替换为字符串s3;
>> s1 = 'wucongrong';
>> s2 = 'ng';
>> s3 = '1';
>> strrep(s1,s2,s3)
ans =
'wuco1ro1'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。