美文网首页
MATLAB编程与应用系列-第4章 字符、元胞和结构数组(2)

MATLAB编程与应用系列-第4章 字符、元胞和结构数组(2)

作者: 德特数据 | 来源:发表于2018-10-26 07:19 被阅读0次

    本系列教程来源于出版设计《基于MATLAB编程基础与典型应用书籍》,如涉及版权问题,请联系:156204968@qq.com。 出版社:人民邮电出版社, 页数:525。

    本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异,教程中如有问题,请联系:156204968@qq.com

    4.1.4 字符串的比较

    字符串的比较通过以下两个函数来实现。

    strcmp(x,y)
    strncmp(x,y,n)

    strcmp(x,y)函数比较字符串x和y的内容是否相同,如果相同返回1,否则返回0。当指定参数n时,strncmp(x,y,n)函数比较字符串x和y的前n个字符是否相同,返回值为1则相同,为0则不同。

    【例4.5】字符串的比较
    在命令窗口中输入以下内容,创建字符数组ss1和ss2。
    >> ss1='比较字符串x和y的内容是否相同';
    >> ss2='比较字符串x和y的前n个字符是否相同';
    ①比较字符串ss1和ss2的内容是否相同。在命令窗口输入命令:
    >> strcmp(ss1,ss2) %返回值如果为1则相同,为0则不同
    返回结果如下:
    ans = 0
    ②比较字符串ss1和ss2的前10个字符是否相同。在命令窗口输入命令:
    >> strncmp(ss1,ss2,10)
    返回结果如下:
    ans = 0
    ③比较字符串ss1和ss2的前5个字符是否相同。在命令窗口输入命令:
    >> strncmp(ss1,ss2,5)
    返回结果如下:
    ans = 1

    前面介绍的是使用函数strmcmp对字符串进行比较,除此之外,该函数还可以对字符串数组中的字符串进行逐个比较。

    在命令窗口中输入以下内容,生成的字符串数组ss3和ss4如下所示:
    >> ss3={'比较';'字符串';'是否';'相等'}
    ss3 =
    '比较'
    '字符串'
    '是否'
    '相等'
    >> ss4={'比较';'字符串'; '具体';'内容'}
    ss4 =
    '比较'
    '字符串'
    '具体'
    '内容'
    ①比较数组ss3和ss4中字符串的内容。在命令窗口中输入以下命令:
    >> strcmp(ss3,ss4) %比较ss3和ss4中字符串是否相同
    返回的结果如下:
    ans =
    1
    1
    0
    0
    ②比较ss3和ss4中所有字符串中的第一个字符是否相同,在命令窗口中输入以下命令:
    >> strncmp(ss3,ss4,1) %比较ss3和ss4中所有字符串中的第一个字符是否相同
    返回的结果如下:
    ans =
    1
    1
    0
    0
    ③比较ss3和ss4中所有字符串中的前4个字符是否相同,在命令窗口中输入以下命令:
    >> strncmp(ss3,ss4,4) %比较ss3和ss4中所有字符串中的前4个字符是否相同
    返回的结果如下:
    ans =
    0
    0
    0
    0
    ⑤④对多行字符数组进行比较的时候,两个字符串数组的维数必须相同,否则将出错。在命令窗口中输入以下内容,创建字符串数组ss5。
    >> ss5={'比';'较';'字';'符';'串';'x';'和';'y';'的';'具';'体';'内';'容';'是'}
    将字符数串组ss5与ss3进行比较。在命令命令窗口中输入以下内容:
    >> strcmp(ss5,ss3) %%比较ss5和ss3中所有字符串中字符是否相同
    运行结果如下:
    ??? Error using ==> strcmp
    Inputs must be the same size or either one can be a scalar.

    注意:如例4.5所示,对多行字符数组进行比较的时候,两个字符串数组的维数必须相同,否则出错。

    作者:德特数据
    联系方式:156204968@qq.com

    相关文章

      网友评论

          本文标题:MATLAB编程与应用系列-第4章 字符、元胞和结构数组(2)

          本文链接:https://www.haomeiwen.com/subject/jdjxtqtx.html