MATLAB中字符串处理

字符串表示

在matlab中 字符串是用单引号括起来的字符序列
若字符串中有单引号,那就要用两个单引号来表示

>> 'i''m superman'

ans =

i'm superman

建立多行字符串 列数要相同

 
>> wow=['sadf';'2134']

wow =

sadf
2134

>> wow(2,4)

ans =

4

建立一个字符串向量,然后对该向量作如下处理:
1,取1~5个字符组成的子字符串。
2,将字符串倒过来重新排列
3,将字符串中的小写字母变成相应的大写字母,其余字符不变。
4,统计字符串中小写字母的个数

>> hi(1,1:5)

ans =

ABc12

>> hi(end:-1:1)

ans =

9gF65e4d321cBA

>> find(hi>='a'&hi<='z')

ans =

     3     7     9    13

>> hi(ans)=hi(ans)-('a'-'A')

hi =

ABC123D4E56FG9

>> length(ans)

ans =

     4

字符串的操作

字符串执行 eval(s)

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

m =

[t,sin(t),cos(t)]

>> u=eval(m)

u =

    3.1416    0.0000   -1.0000

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

>> abs('MATLAB')

ans =

    77    65    84    76    65    66

>> char(77)

ans =

M

>>char(a+32)

ans=

matlab

(3)字符串的比较
字符串的比较有两种方法:利用关系运算符或字符串比较函数。
关系运算符比较:按照两个字符串里的每个字符的ASCII码比较,结果是一个0 1数值向量,

   >> 'sa'<'we'

ans =

  1×2 logical 数组

   1   1

字符串比较函数用于判断字符串是否相等,有4钟比较方式
1,strcmp(s1,s2) s1 s2是否相等,是 1 否 0
2,srtncmp(s1,s2,n)比较两个字符串前n个字符是否相等,是1否0
3,strcmpi(s1,s2)忽略大小写前提下比较是否相等
4,srtncmpi(s1,s2,n)忽略大小写前提下比较前n个字符是否相等
(3)字符串查找与替换
findstr(s1,s2) 返回字符串在长字符串中的开始位置。
strrep(s1,s2,s3) 将字符串s1中所有子字符串s2替换为s3.

>> findstr('pen apple pen','pen')

ans =

     1    11

>> strrep('pen apple pen','pen','apple')

ans =

apple apple apple
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值