字符串处理

1.字符串的表示

字符串是用单引号' '引起来的

数组使用双引号" "引起来的

>> xm="hhHHH"

xm = 

    "hhHHH"

>> xm(1:3)
索引超过数组元素的数量。索引不能超过 1。
 
>> ab='hhHHH'

ab =

    'hhHHH'


>> ab(1:3)

ans =

    'hhH'

若字符串中有单引号,则该单引号还要再加个单引号表示 

>> 'I''m a teacher.'

ans =

    'I'm a teacher.'

 建立多行字符串,形成字符串矩阵

要求维度一样

若不一致,用空格 代替

>> AB=['abcd';'123 '];
 
>> AB(2,3)

ans =

    '3'

>> AB(2,4)

ans =

    ' '

>> CD=['abcd';'123'];
错误使用 vertcat
要串联的数组的维度不一致。

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

>> ch='ABc123d4e56Fg9';
>> subch=ch(1:5)

subch =

    'ABc12'

>> revch=ch(end:-1:1)

revch =

    '9gF65e4d321cBA'


>> k=find(ch>='a' & ch<='z')

k =

     3     7     9    13

>> k=find(ch>='a'&ch<='z')

k =

     3     7     9    13

>> ch(k)=ch(k)-('a'-'A')

ch =

    'ABC123D4E56FG9'


>> length(k)

ans =

     4

 2.字符串的操作

 

(1)执行:eval(s)

(2)转换

>> s1='MATLAB';
>> a=abs(s1)

a =

    77    65    84    76    65    66

>> b=double(s1)

b =

    77    65    84    76    65    66


>> char(a+32)

ans =

    'matlab'

(3)比较

①关系运算符比较

>> 'www0'>='W123'

ans =

  1×4 logical 数组

   1   1   1   0

②函数比较

>> strcmp('www0','w1234')

ans =

  logical

   0

>> strcmp('www0','www01')

ans =

  logical

   0

>> strncmpi('Ww','w',1)

ans =

  logical

   1

4.查找与替换

>> 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!'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值