Engee 文档
Notebook

文本比较

在本例中,让我们看看如何比较以字符串数组表示的文本片段。

比较字符串是否相等

使用关系运算符 == 和 != 可以比较字符串数组是否相等。比较字符串数组时,输出是一个布尔数组,其中 1(true)表示关系为真,0(false)表示关系为假。

In [ ]:
str1 = "Hello";
str2 = "World";
str1,str2
Out[0]:
("Hello", "World")
In [ ]:
str1 != str2
Out[0]:
true
In [ ]:
str1 = ["Mercury" "Gemini" "Apollo";"Skylab" "Skylab B" "International Space Station"];
str2 = "Apollo";
str1 .== str2
Out[0]:
2×3 BitMatrix:
 0  0  1
 0  0  0
In [ ]:
str2 = ["Mercury" "Mars" "Apollo";"Jupiter" "Saturn" "Neptune"];
str1 .!= str2
Out[0]:
2×3 BitMatrix:
 0  1  0
 1  1  1

使用其他关系运算符比较字符串

您还可以使用 >、>=、< 和 <= 关系运算符比较字符串。以大写字母开头的字符串优先于以小写字母开头的字符串。例如,字符串 "ABC "小于 "abc"。数字和一些标点符号也在字母之前。

In [ ]:
"ABC" < "abc"
Out[0]:
true

使用 > 运算符比较包含姓名的字符串数组与另一个姓名。桑切斯、德庞蒂和纳什的名字排在马修斯之后,因为 S、d 和 N 都大于 M。

In [ ]:
str = ["Sanchez","Jones","de Ponte","Crosby","Nash"]; 
TF = (str .> "Matthews")
Out[0]:
5-element BitVector:
 1
 0
 1
 0
 1

还有一个函数cmp() 可以比较两个字符串。如果两个字符串相等,则返回 0;如果第一个字符串参数大于第二个字符串参数,则返回 1;如果第一个字符串参数小于第二个字符串参数,则返回-1。

In [ ]:
cmp("ABC","abc")
Out[0]:
-1

本文介绍了在字符串数组上执行文本比较的函数。有关处理文本和字符串数组的更多详细信息,请参阅以下章节:文本字符串数组