MATLAB字符串数组

MATLAB字符串数组MATLAB字符串数组基本规则(1)所有字符串都用单引号(英文状态下输入)括起来;(2)将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。(3)size指令获得串数组的大小。串中的每一个字符,包括中英文字符、空格、标点都算一个元素。(4)字符串中的字符以ASCⅡ码形式存储,因而区分大小写。(5)可建立多行字符串,形成字符串矩阵。例如String1=’welcometomatlab!’ %单引号括起来String1=’welcometomatlab

大家好,欢迎来到IT知识分享网。MATLAB字符串数组"

MATLAB字符串数组

基本规则
(1)所有字符串都用单引号(英文状态下输入)括起来;
(2)将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。
(3)size指令获得串数组的大小。串中的每一个字符,包括中英文字符、空格、标点都算一个元素。
(4)字符串中的字符以ASCⅡ码形式存储,因而区分大小写
(5)可建立多行字符串,形成字符串矩阵。
例如

String1='welcome to matlab!'		%单引号括起来
String1 =
    'welcome to matlab!'
String1='9527 welcome to matlab !! '	
size(String1)

String1 =

    '9527 welcome to matlab !! '		%包含数字,字母,标点符号,空格

ans =

     1    26					%长为26
ch=['abcdef';'123456']   	 %建立多行字符串,形成字符串矩阵
ch(2,3)


ch =

  2×6 char 数组				%建立的2行6列的字符串矩阵

    'abcdef'
    '123456'

ans =					%第2行3列的元素为'3'

    '3'

abs和double指令可以显示字符数组对应的ASCII码数值数组。char指令则可以把ASCII码数值数组转换成字符数组。

s1='MATLAB';
a=abs(s1)			%将字符数组转化为ascll码值数组
b=double(s1)
char(a)				%将ascll码值数组转化为字符数组

%输出如下
a =

    77    65    84    76    65    66
    
b =

    77    65    84    76    65    66

ans =

    'MATLAB'

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

clc;
ch='ABc123d4e56Fg9' ;
subch=ch(1:5)           %取子字符串
revch=ch(end:-1:1)       %将字符串倒排
k=find(ch>='a' & ch<='z')  %找小写字母的位置
ch(k)=ch(k)-('a'-'A')   	 %小写字母变成大写
length(k)      			 %统计小写字母的个数

对于上述例题的解释
1.找出的是小写字母的位置,结果输出为3 7 9 13,即在第3 7 9 13的位置是小写字母

k=find(ch>='a' & ch<='z')  %找小写字母的位置

2.提出小写字母,输出结果为ans = ‘CDEG’

ch(k)		%将小写字母位置上的小写字母提出
ch(k)-('a'-'A')			
%将找出的小写字母,ascll码值减去32(即大小写字母的ascll码值差),转换成大写字母
当两个字符串数组进行关系比较时,是将其对应位置的字符的ascll码值进行比较

字符处理函数及其含义

函数名 含义
setstr 将ASCII码值转换成字符
char 同上,将代替setstr
mat2str 将矩阵转换成字符串
int2str 将整数转换成字符串
num2str 将数值转换成字符串
str2num 将字符串转换成数值
strcat 用于字符串的连接
abs 将字符转换成ASCII码
eval 把字符串的内容作为对应的命令来执行
findstr(s1,s2) 返回短字符串在长字符串中的开始位置
strrep(s1,s2,s3) 将字符串s1中的所有子字符串s2替换为字符串s3
strcmp(s1,s2) 用来比较字符串s1和s2是否相等,如果相等,返回结果为1,否则 返回0
strncmp(s1,s2,n) 用来比较两个字符串前n个字符是否相等,如果相等,返回1, 否则返回0
strcmpi(s1,s2) 在忽略字母大小写前提下,比较字符串s1和s2是否相等,如果相 等,返回1,否则返回0
strncmpi(s1,s2,n) 在忽略字符串大小写前提下,比较两个字符串前n个字符是否 相等,如果相等,返回1,否则返回0

具体参数内容可输入help进行查看

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15583.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信