MATLAB-字符串

  • 字符(Characters)可以构成一个字符串 (Strings),或字符数组(character array)。
  • 一个字符串是被视为一个行向量(row vector)。
  • 字符串中的每一个字符(含空格),以其 ASCII 码的形式存放于行向量中,是该字 符串变量的一个元素(element)。

字符串的生成

Matlab 用「单引号」来界定一个字符串:

stringname=‘the content of the string’

字符串可以由单引号创建,如果字符串内部包含单引号,则需要在单引号位置输入两个连续的单引号,否则系统报错。

1、直接创建

在这里插入图片描述

2、字符串合成

  • 可以使用方括号“[ ]”直接连接多个字符串变 量,得到一个新字符串变量。

在这里插入图片描述

字符串的操作

字符串的转换函数汇总

函数名作用/返回内容
size返回字符串规格
length计算字符串变量的长度
abs字符串到ASCII转换
dec2hex十进制数到十六进制字符串的转换
fprintf将格式化的文本print
hex2dec十六进制字符串转换成十进制数
hex2num十六进制字符串转化成IEEE浮点数
int2str整数转化成字符串
lower字符串小写
num2str数字转化成字符串
setstrASCII转换成字符串
sprintf用格式控制,数字转换成字符串
sscanf用格式控制,字符串转换成数字
str2mat字符串转换成一个文本矩阵
str2num字符串转换成数字
str2double字符串转换成double
upper字符串大写

1、显示

字符串的显示:直接显示和利用disp函数显示
在这里插入图片描述

2、执行字符串

字符串的执行:利用eval函数执行字符串,同python的eval函数,去掉字符串的引号使其成为可执行语句。
在这里插入图片描述

3、字符串的判断class/ischar

class 或 ischar 指令: 可以用来判断一个变量的类 型或它是否为字符串变量。

  • class(), 返回括号内数据类型
  • ischar(),若不是字符串,则返回0.

字符串是一个ASCII码的字符数组,因此与普通数组一样, 字符串也可以形成矩阵。但是这些行必须具有相同数目的列数。
在这里插入图片描述

使用char函数可以创建长度不一致的字符串矩阵。char 函数自动将所有字符串的长度设置为输入字符串中长度的 最大值;
在这里插入图片描述

在从数组中提取字符串时,可以利用deblank函数自动删 除char函数添加的空格;
在这里插入图片描述

字符串的运算

运算函数汇总

函数名作用函数名作用
strcat横向连接字符串strvcat纵向连接字符串
strcmp字符串比较strncmp比较字符串的前n个字符
findstr字符串查找strjust字符串对齐
strmatch字符串匹配strrep字符串查找与替换
strtok选择字符串中的部分blanks创建由空格组成的字符串
deblank删除字符串结尾的空格ischar判断变量是否为字符串
iscellstr判断字符串单元数组stringsMATLAB字符串句柄
isspace判断是否空格 ,是则返回1,否则返回0isletter判断字符串的字符是否是字母 ,是则返回1,否则返回0

字符串的比较:strcmp, strncmp,Matlab运算法则

字符数组进行比较时,比较的是ASCII码值。返回 结果为一个数值向量,元素为对应字符比较的结果。

strcmp(str1,str2): 比较字符串str1和str2是否相同,若相 同返回1,否则返回0;当所比较的两个字符串是单元字符数 组时,返回值为一个列向量,元素为相应行比较结果。

strncmp(str1,str2,n): 比较字符串str1和str2的前n个字符 是否相同,若相同返回1,否则返回0。当所比较的是两个单元数组 时,返回值为列向量,元素为相应行的比较结果。

当两个字符串拥有相同的维数时,可以利用 MATLAB运算法则(==, ~=, <, >, <=, >=)比较两个字符串。

字符串的查找和替换

字符串的查找函数:findstr, strmatch, strrep, strtok

findstr(str1,str2)

用于在一个字符串中查找子字符串,执行时系统首先判断两个字符串的长短,然后在长的字符串中检索短的子字符串。 返回位置。
在这里插入图片描述

sterep(str1,str2,str3)

将字符串str1中的所有子字符串str2替换为str3。
在这里插入图片描述

strmatch(str1,str2)

寻找str1是否匹配str2的开头部分字符串, 返回str1在str2中匹配的位置
在这里插入图片描述

strmatch(‘str’, STRS,’exact’)

寻找str1是否完全匹配str2,返回 str1在str2中匹配的位置
在这里插入图片描述

strtok()

选取字符串的一部分,简单用法为strtok(str)
在这里插入图片描述

  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值