文档

比较字符串

比较字符串

语法

tf = strcmp (s1, s2)

描述

例子

特遣部队=比较字符串(s1, s2)比较s1s2并返回1(真正的),如果两者是相同的0(否则)。如果每个文本的大小和内容都相同,则认为文本是相同的。返回的结果特遣部队为数据类型逻辑

输入参数可以是字符串数组、字符向量和字符向量的单元数组的任何组合。

例子

全部折叠

比较两个不同的字符向量。

s1 =“是的”;s2 =“不”;tf = strcmp (s1, s2)
tf =逻辑0

比较字符串返回0因为s1s2是不平等的。

比较两个相等的字符向量。

s1 =“是的”;s2 =“是的”;tf = strcmp (s1, s2)
tf =逻辑1

比较字符串返回1因为s1s2是相等的。

找到这个词“在”在字符向量的单元格数组中。

s1 =“在”;s2 = {“一次”,“在”;“一个”,“时间”};tf = strcmp (s1, s2)
tf =2 x2逻辑阵列0 10 0

只有一次s1在数组中s2,它发生在元素处s2(1、2)

比较字符向量的两个单元格数组中的每个元素。

s1 = {“时间”,“苍蝇”,“当”;“你”,“有”,“有趣。”};s2 = {“时间”,“拖”,“当”;“你”,“焦急”,“等待”。};tf = strcmp (s1, s2)
tf =2 x3逻辑阵列10 10 10 0

中有三个相等元素的实例s1s2。这些都是“时间”在指数(1,1),“当”在指标| |(1,3),和“你”在指数(2, 1)

从R2017a开始,可以使用双引号来创建字符串,而不是字符串函数。使用以下方法比较字符串数组比较字符串

s1 = [“一个”,“公元前”;“def”,“G”];s2 = [“B”,“c”;“def”,“G”];tf = strcmp (s1, s2)
tf =2 x2逻辑阵列0 0 11 1

可以使用关系运算符对字符串数组进行比较和排序,就像对数值数组一样。

使用= =确定两个字符串数组中的哪些元素相等。

s1 = = s2
ans =2 x2逻辑阵列0 0 11 1

使用<确定的元素s1小于对应的元素s2根据ASCII字典顺序。

s1 < s2
ans =2 x2逻辑阵列1 1 0 0

文本处理功能(如strfind正则表达式)接受字符串数组作为输入,但其他函数(例如,目录)不。

输入参数

全部折叠

输入文本,每个输入指定为字符向量、字符数组、字符向量的单元数组或字符串数组。输入的顺序不会影响比较结果。

  • 如果两个s1s2是字符向量的字符串数组还是单元数组s1s2必须是相同的大小,除非其中一个是标量。

  • 如果两个s1s2那么字符数组是多行的吗s1s2可以有不同的行数。

  • 当将字符向量的非标量单元数组或字符串数组与多行字符数组进行比较时,单元数组或字符串数组必须是与字符数组具有相同行数的列向量。

数据类型:字符|细胞|字符串

输出参数

全部折叠

真或假结果,返回为10的数据类型逻辑

  • 如果每个输入是字符串标量、标量单元格或字符向量,则特遣部队是一个标量。

  • 如果至少有一个输入是字符串数组或字符向量的单元数组,则特遣部队与输入数组大小相同的数组。

  • 如果一个输入是具有多行的字符数组,而另一个输入是标量单元格或字符串标量,则特遣部队是一个n——- - - - - -1数组,n是字符数组中的行数。

  • 如果两个输入都是字符数组,特遣部队是一个标量。

提示

  • 比较字符串函数用于文本的比较。如果用于不支持的数据类型,万博1manbetx比较字符串总是返回0

  • 对于不区分大小写的文本比较,使用strcmpi而不是比较字符串

  • 虽然比较字符串与C函数共享名称,它不遵循C语言的返回约定0当文本输入匹配时。

  • 对于字符串数组,您可以使用关系运算符(= =,~ =,<,>,< =,> =)而不是比较字符串。您可以像对数字数组那样对字符串数组进行比较和排序。

扩展功能

之前介绍过的R2006a

这个话题有用吗?