Matlab中字符串表示、字符串矩阵、字符串中的常用函数 您所在的位置:网站首页 函数声明用什么字母表示 Matlab中字符串表示、字符串矩阵、字符串中的常用函数

Matlab中字符串表示、字符串矩阵、字符串中的常用函数

#Matlab中字符串表示、字符串矩阵、字符串中的常用函数| 来源: 网络整理| 查看: 265

字符串表示

类似于字符数组,不过Matlab中字符串是用单引号括起来的字符序列。也是以ASCII码形式存储。

>> str='LuYihang'; >> str(3:6) ans = 'Yiha'

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

>> str2='LuYi''hang' str2 = 'LuYi'hang' 字符串矩阵

也可以建立多行字符串,形成字符串矩阵。

>> ch=['a:f';'1:6'] ch = //可以看到字符串中相用a:f代替abcdef是不行的,a:f就是一个字符串 2×3 char 数组 'a:f' '1:6' >> ch(2,2) ans = ':'

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

>> ch='ABc123d4e56FG90'; >> subch=ch(1:5) subch = 'ABc12' //题目1 >> revch=ch(end:-1:1) revch = '09GF65e4d321cBA' //题目2 >> k=find(ch>='a'&ch> ch(k)=ch(k)-32 ch = 'ABC123D4E56FG90' //题目3 支持ASCII码 >> length(k) ans = 3 //题目4 字符串操作

1. 字符串的执行 格式: eval(s) s是字符串,作用是将字符串中的内容作为Matlab命令来执行,实现由键盘输入命令,而不是预先设置好命令,相比更灵活。

>> t=pi; >> m='[t,sin(t),cos(t)]'; >> m m = '[t,sin(t),cos(t)]' >> eval(m) ans = 3.1416 0.0000 -1.0000

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

>> s1='MATLAB'; >> a=abs(s1) a = 77 65 84 76 65 66 >> b=char(a) b = 'MATLAB'

3. 字符串的比较 字符串的比较有两种方法:利用关系运算符或字符串比较函数。 关系运算符比较:两个字符串里的每个字符依次按ASCII值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1,要么是0。

>> 'www 0'>='W1234' ans = 1×5 logical 数组 1 1 1 0 0

使用关系运算符比较的前提:两个字符串的长度必须相等。

字符串比较函数用于判断字符串是否相等,有4种比较方式,函数如下: 1 strcmp(s1,s2):用来比较字符串s1和s2是否相等,如果相等,返回结果为1,否则返回0。 2 strncmp(s1,s2,,n):用来比较两个字符串前n个字符是否相等,如果相等返回1,否则返回0。 3 strcmpi(s1,s2):在忽略字母大小写前提下,比较字符串s1和s2是否相等,如果相等返回1,否则返回0。 4 strncmpi(s1,s2,n):在忽略字符串大小写前提下,比较两个字符串前n个字符是否相等,如果相等返回1,否则返回0。

>> strncmpi('www0','W123',1) ans = logical 1

4. 字符串的查找与替换 strfind(s1,s2):返回字符串s2在字符串s1中的开始位置。 strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符串s3。

注意还有个findstr(s1,s2)函数,区别在于findstr函数中s1 s2无先后顺序区别,返回短字符串在长字符串中的开始位置。

>> strfind('ababedabababedfg','bed') ans = 4 12 >> strfind('bed','ababedabababedfg') ans = [] >> findstr('bed','ababedabababedfg') ans = 4 12 >> strrep('ababedabababedfg','bed','toy') ans = 'abatoyababatoyfg'


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有