Matlab:字符串处理

一、字符串的表示

在matlab中,字符串使用单引号括起来的。

如果需要显示单引号字符,则可以用两个单引号表示

>> a='abcdefg';   %行向量字符串矩阵
>> a(1:4)

ans =

    'abcd'


>> b=['abc','cba';'bca','bac']  %字符串矩阵

b =

  2×6 char 数组

    'abccba'
    'bcabac'

二、字符串的操作

1.字符串执行 eval

>> t=180;
>> m='[t,sind(t),cosd(t)]';
>> y=eval(m)        //可以执行字符串数据

y =

   180     0    -1

2.字符串与数值转换

asb和double函数可以将字符串矩阵转换位ASCII码数值矩阵

char函数可以把ASCII码数值矩阵转换成字符串矩阵

>> a=abs(str1);
>> str1='Hello world';
>> a=abs(str1)

a =

  列 1 至 9

    72   101   108   108   111    32   119   111   114

  列 10 至 11

   108   100

>> c=char(a)

c =

    'Hello world'

2.字符串比较

(1)关系运算符比较

通过字符的ASCII码进行对应元素关系比较,获得一个同型的01矩阵。

>> 'abc0'>'cab2'

ans =

  1×4 logical 数组

   0   1   1   0

(2)字符串比较函数

1)strcmp(s1,s2):用来比较s1和s2是否相等,相等返回1,否则返回0

> strcmp('abc','abc')

ans =

  logical

   1

>> strcmp('abc','cba')

ans =

  logical

   0

2)strncmp(s1,s2,n):用来比较两个字符串前n个字符是否相等,相等返回1,不相等返回0

> strncmp('abcx','abcd',2)

ans =

  logical

   1

>> strncmp('abcx','abcd',4)

ans =

  logical

   0

3)strncmpi(s1,s2):忽略大小写,比较s1和s2是否相等,相等返回1,否则返回0

4)strncmpi(s1,s2,n):忽略大小写,比较两个字符串前n个字符是否相等,相等返回1,不相等返回0

3.字符串的查找与替换

(1)findstr(s1,s2):返回短字符串在长字符串中的开始位置

>> p=findstr('This is a Matlab', 'is')

p =

     3     6

(2)strrep(s1,s2,s3):将字符串s1中的子字符串s2,替换成s3

>> p=strrep('This is a Matlab', 'Matlab','test')

p =

    'This is a test'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值