Matlab中字符串表示、字符串矩阵、字符串中的常用函数
字符串表示
类似于字符数组,不过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<='z')
k =3 7 9
>> 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 =logical1
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'
Matlab中字符串表示、字符串矩阵、字符串中的常用函数相关推荐
- Python之pandas:pandas中缺失值与空值处理的简介及常用函数(drop()、dropna()、isna()、isnull()、fillna())函数详解之详细攻略
Python之pandas:pandas中缺失值与空值处理的简介及常用函数(drop().dropna().isna().isnull().fillna())函数详解之详细攻略 目录 pandas中缺 ...
- 字符串(string)的常用语法和常用函数
在python中,加了引号(单引号.双引号.三引号)的字符就是字符串类型,python并没有字符类型. 字符串也是很常用的数据类型,这里介绍一些用的较多的语法和方法,直接以代码示例展示. 1 str ...
- MATLAB科学绘图-MATLAB画图技巧与实例(一):常用函数
Matlab拥有强大的绘图功能,内置了很多绘图函数,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数. 此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作.这类操作将图形的 ...
- matlab二维、三维矩阵转换、排序、转置等问题
1.matlab二维转换为三维矩阵 这里用到reshape函数 格式为AA1=reshape(A1,[行,列,页]) 如下所示 A1=[2 2 2 2 2.5 2.5 2.5 2.5 1.8 1.8 ...
- matlab实验5函数文件,matlab实验作业(数据类型,常用函数,导入外部文件)
实验一 MATLAB环境与运算基础 一.实验目的 掌握 MATLAB环境与基本操作: 掌握MATLAB常见数据类型的创建.表示和引用: 熟悉MATLAB数据类型的各种运算与常用函数: 熟悉导入外部数据 ...
- 【C语言】字符串加密解密,字符串左旋,杨氏矩阵,删除字符串中出现次数最少的字符
目录 1.字符串解密加密 2.字符串左旋 3.杨氏矩阵 4.删除字符串中出现次数最少的字符 好久不见,自从刷完剑指offer里面所有目前可以用C解决的题目吧之后,就在刷一些高校的题和华为机试题,一直在 ...
- ajax参数中字符串最大长度_6.7 C++数组名作函数参数 | 求3*4矩阵中最大的值
C++用数组元素作函数实参 C++中实参可以是表达式,而数组元素可以是表达式的组成部分,因此数组元素可以作为函数的实参,与用变量作实参一样,将数组元素的值传送给形参变量. C++也可以用数组名作函数参 ...
- mysql更新字符串中某个字符串_mysql更新某个字符串字段的部分内容
如果现在需要Mysql更新字段重部分数据,而不是全部数据,应该采用何种方法呢?下面介绍了两种情况下Mysql更新字段中部分数据的方法,供您参考. Mysql更新字段中部分数据第一种情况: update ...
- c语言中字符串的子式咋样输出,C语言常用代码
<C语言常用代码>由会员分享,可在线阅读,更多相关<C语言常用代码(48页珍藏版)>请在人人文库网上搜索. 1.WORD格式-可编辑-#includeusing namespa ...
最新文章
- attr,abbr,addr三个常见的单词意思
- 四舍六入五成双银行家算法的 PHP和Javascript实现
- mac下安装brew下载非常慢解决方法
- zblog php 七牛缩略图,zblog中Gravatar头像不显示解决方法
- leetcode力扣94. 二叉树的中序遍历
- 任正非:华为不会拆分;以色列公司称可解锁所有 iOS 设备;Java 13 要来了! | 极客头条...
- 星低级格式化工具_Elixir 数据库查询工具 Ecto 讲解
- UDP报文观测以及DNS的工作原理
- 「leetcode」654.最大二叉树(详解)
- 零基础入门实践目标检测项目
- Java并发编程思维导图
- 关于namecheap 域名运营商,域名赎回详细步骤
- 自考-计算机程序设计-1-概论
- 常见国际贸易专业术语
- c语言布尔变量逻辑运算,在C ++中对布尔值使用按位运算符
- c语言rand生成1 100随机数,c语言生成1~100随机数
- 小鹤双拼 - 微软拼音自动配置双拼方案
- 计算机移动硬盘的一般作用,移动硬盘有什么用处
- 【黄啊码】php结合redis实现商城在线秒杀抢购
- linux操作系统下 c语言编程入门