主要内容

比较文本

比较文本字符数组和字符串数组以不同的方式。在R2016b介绍了字符串数组。你可以比较字符串数组和字符和关系运算符和向量比较字符串函数。你可以使用的字符串数组排序函数,就像任何其他类型的数组进行排序。MATLAB®还提供了功能检查字符的文本。例如,您可以确定哪些字符特征向量数组或字符串字母或空格字符。

比较字符串数组的平等

你可以比较字符串数组的平等关系运算符= =~ =。当你比较字符串数组,输出是一个逻辑数组1的关系是真的,吗0它是不正确的。

创建两个字符串标量。从R2017a,您可以创建使用双引号字符串。

str1 =“你好”;str2 =“世界”;str1, str2
str1 = "你好"
str2 = "世界"

比较str1str2为平等。

str1 = = str2
ans =逻辑0

与多个元素比较的字符串数组,字符串标量。

str1 = [“水星”,“双子座”,“阿波罗”;“天空实验室”,B“天空实验室”,“国际空间站”];str2 =“阿波罗”;str1 = = str2
ans =2 x3逻辑阵列0 0 1 0 0 0

比较字符串数组来一个特征向量。只要其中一个变量是一个字符串数组,你可以比较。

空空的=“双子座”;TF = (str1 = =科)
TF =2 x3逻辑阵列0 1 0 0 0 0

索引str1特遣部队提取字符串匹配的元素双子座。您可以使用逻辑数组索引到一个数组中。

str1 (TF)
ans =“双子座”

比较不平等使用~ =操作符。索引str1提取不匹配的元素“双子座”

TF = (str1 ~ =科)
TF =2 x3逻辑阵列1 0 1 1 1 1
str1 (TF)
ans =5 x1字符串“水星”“太空实验室”“B太空实验室”“阿波罗”“国际空间站”

比较两个nonscalar字符串数组。当你比较两个nonscalar数组,它们必须是相同的大小。

str2 = [“水星”,“火星”,“阿波罗”;“木星”,“土星”,“海王星”];TF = (str1 = = str2)
TF =2 x3逻辑阵列1 0 1 0 0 0

索引str1提取匹配。

str1 (TF)
ans =2 x1字符串“水星”“阿波罗”

比较与其他关系运算符的字符串数组

你也可以比较字符串和关系运算符>,> =,<,< =。用大写字母开头的字符串之前的字符串以小写字母开始。例如,字符串“ABC”小于“abc”。数字和字母之前一些标点符号也来了。

“ABC”<“abc”
ans =逻辑1

比较字符串数组,其中包含名称的另一个名字>操作符。的名字桑切斯,德桥,纳什来后马修斯,因为年代,d,N都是比

str = [“桑切斯”,“琼斯”,“德桥”,“克罗斯比”,“纳什”];TF = (str >“马修”)
TF =1 x5逻辑阵列1 0 1 0 1
str (TF)
ans =1 x3字符串“桑切斯”“德桥”“纳什”

字符串数组排序

你可以字符串数组。MATLAB®将字符存储为Unicode®使用utf - 16字符编码方案。根据utf - 16字符和字符串数组排序代码点。也是ASCII字符的字符,这个顺序意味着大写字母小写字母之前来。数字和字母之前一些标点符号也来了。

字符串数组排序str

排序(str)
ans =1 x5字符串”琼斯“克罗斯比“纳什”“桑切斯”“德桥”

一个2×3的字符串数组。的排序函数分别在每一列的元素。

排序(str2)
ans =2 x3字符串“木星”“火星”“阿波罗”“水星”“土星”“海王星”

每一行的元素进行排序,排序str2第二个维度。

排序(str2, 2)
ans =2 x3字符串“阿波罗”“火星”“水星”“木星”“海王星”“土星”

比较特征向量

你可以比较字符特征向量的向量和细胞数组。使用比较字符串函数比较两个特征向量,或strncmp比较第一N字符。你也可以使用strcmpistrncmpi不区分大小写的比较。

比较两个特征向量比较字符串函数。chr1chr2是不平等的。

chr1 =“你好”;chr2 =“帮助”;TF = strcmp (chr1 chr2)
TF =逻辑0

注意,MATLAB比较字符串不同于C版本的比较字符串。的C版本比较字符串返回0当两个字符数组都是相同的,而不是当他们是不同的。

比较前两个字符的strncmp函数。特遣部队1因为两个特征向量从字符开始

TF = strncmp (chr1 chr2 2)
TF =逻辑1

比较两个细胞阵列的特征向量。比较字符串返回一个逻辑数组大小相同的细胞阵列。

C1 = {“披萨”;“芯片”;“糖果”};C2 = {“披萨”;“巧克力”;“椒盐卷饼”};比较字符串(C1, C2)
ans =3 x1逻辑阵列1 0 0

检查字符在字符串和字符数组

你可以检查字符在字符串数组或字符数组isstrprop,胰岛,isspace功能。

  • isstrprop检查字符在字符串数组或字符数组。

  • 胰岛isspace函数检查字符的字符数组。

确定哪些字符特征向量是空格字符。isspace返回一个逻辑向量大小是一样的空空的

空空的=四分和七年前的;TF = isspace(科)
TF =1 x30逻辑阵列0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0

isstrprop为许多不同的功能可以查询字符特征。isstrprop可以确定字符在字符串或字符向量是字母,字母数字字符,十进制或十六进制数字或标点符号。

确定哪些字符串中的字符标点符号。isstrprop返回一个逻辑向量的长度等于字符的数量str

str =“一匹马!一匹马!我的王国为一匹马!”
str = "一匹马!一匹马!我的王国为一匹马!”
isstrprop (str,“punct”)
ans =1 x41逻辑阵列0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

确定哪些字符特征向量空空的是字母。

isstrprop(空空的,“阿尔法”)
ans =1 x30逻辑阵列1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1

另请参阅

||||||||||

相关的话题