matlab常用的字符串操作函数之一

1,strcat和strvcat

strcat:依次横向连接字符串;
strvcat:依次纵向连接字符串;

实例1:
>>a1='sophia ';
>>a2='is a ';
>>a3='good girl';
>>strRes1=strcat(a1,a2,a3)
strRes1 =
sophiais agood girl
实例2:
>>strRes2=strvcat(a1,a2,a3)
strRes2 =
sophia
is a
good girl

2,char和ischar

char:
创建二维数组。
每行长度一致,短的用空格补齐;
将字符串单元数组转化为二维字符数组。
ischar:
判断是否为字符数组。

实例1:
>>charRes1=char(a1,a2,a3)
charRes1 =
sophia
is a
good girl
>>len=[length(charRes1(1,:)),length(charRes1(2,:)),length(charRes1(3,:))]
len =
9 9 9
>>cellStr={'sophia','is a','good girl'};
>>charRes2=char(cellStr)
charRes2 =
sophia
is a
good girl
实例2:
>>IsCharRes1=ischar(a1)
IsCharRes1 =
1
>>number=1;
>>IsCharRes1=ischar(number)
IsCharRes1 =
0

3,cellstr和iscellstr

cellstr:
生成字符串单元数组。
iscellstr:
判断是否为字符串单元数组。

实例1:
>>cellstrRes=cellstr(a1)
cellstrRes =
'sophia'
>>size(cellstrRes)
ans =
1 1
>>class(cellstrRes)
ans =
cell
实例2:
>>iscellstr(cellstrRes)
ans =
1
>>iscellstr(a1)
ans =
0

4,blanks和deblank

blanks:
创建包含n个空格的字符串。
deblank:
去掉字符串或单元数组所包含的字符串尾部空格。

实例1:
>>blankRes=blanks(4)
blankRes =

>>class(blankRes)
ans =
char
>>length(blankRes)
ans =
4
实例2:
>>deblankRes='sophia is a good girl! ';
>>length(deblankRes)
ans =
25
>>deblankRes=deblank(deblankRes)
deblankRes =
sophia is a good girl!
>>length(deblankRes)
ans =
22

5,sprintf和sscanf

sprintf:
[s,errmsg]=sprintf(format,A,...)按格式format写A的数据到字符串s中。
sscanf:
A=sscanf(s,format,size)按格式从字符串s中读取数据。

实例1:
>>num=12;
>>sprintfRes=sprintf('%05d',num)
sprintfRes =
00012
实例2:
>> a='feifei only worth 0.01 RMB.';
>> Our=sscanf(a,'%s %s %s %f %s')
Our =
0.0100
>> Our=sscanf(a,'%s',2)
Our =
feifeionly

6,eval,feval和evalin

eval:
执行由MAILAB表达式组成的字符串。
feval:
只执行函数。
evalin:
实现在工作空间中某个表达式字符串,并将结果返回。
evalin(WS,'expression'),其中,WS为工作空间名称,'expression'为表达式符号串。

实例1:
>>eval('1+2')
ans =
3
实例2:
>> feval('sin',3)
ans =
0.1411
实例3:

>> a=12;
>> b=evalin('base','a+5')
b =
17
注意:脚本文件所在工作空间为'base',函数所在的工作空间为函数名。

原文地址:https://www.cnblogs.com/sophia-hxw/p/6217130.html