【MATLAB】字符串处理

本文主要介绍MATLAB中字符串的处理。包括字符串的表示,如用单引号括起,含单引号时用两个单引号表示;字符串的执行,通过eval函数将字符串参数作为命令执行;字符串与数值的转换,可用abs、char函数;以及字符串的比较,有利用关系运算符或字符串比较函数两种方法。

一、字符串的表示
在MATLAB中,字符串使用单引号括起来的字符序列。
例如:

>> xm='Central South University'

xm =

Central South University

>> xm(1:3)

ans =

Cen

若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示。
例如:

>> 'I''m a teacher.'

ans =

I'm a teacher.

建立多行字符串,形成字符串矩阵
如果是字符串不相等,需要用空格将字符元素较少的字符串补全。
例如:

>> ch=['abcdef';'123456'];
>> ch(2,3)

ans =

3

>> ch=['abcdef';'12345 ';]

ch =

abcdef
12345 

建立一个字符串向量,然后对该向量做如下处理:
示例:
1、取第1~5个字符组成的子字符串。

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

subch =

ASD12

2、将字符串倒过来重新排列

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

revch =

dsa321DSA

3、将字符串中的小写字母变成相应的大写字母,其余字符不变。

k的输出值是对应小写字母在字符串中的序号。*

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

k =

     7     8     9

统计字符串中小写字母的个数。

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

ch =

ASD123ASD

>> length(k)

ans =

     3

二、字符串的执行

eval函数
实际上是把字符串的的参数作为MATLAB命令来执行的,所以最后就是把一个向量赋给了变量y。

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

y =

    3.1416    0.0000   -1.0000

三、字符串与数值之间的转换
二者都可以用来获取字符串矩阵所对应的ASCLL码数值矩阵。
char函数可以把ASCLL码矩阵转换为字符串矩阵。
abs函数、char函数

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

a =

    77    65    84    76    65    66

>> char(a+32)

ans =

matlab

四、字符串的比较
字符串的比较有两种方法:利用关系运算符或字符串比较函数。

关系运算符比较:两个字符串里的每一个字符依次按ASCLL值大小进行比较,比较的结果是一个数值向量,向量中的元素要么是1,要么是0。
例如:

>> 'www0'>='W123'

ans =

     1     1     1     0

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-_星耀_-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值