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

    xiaoxiao2021-04-16  30

    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('d',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://ju.6miu.com/read-672316.html

    最新回复(0)