文档

比较文本

以不同的方式比较字符数组和字符串数组中的文本。字符串数组在2016b版本中引入。可以将字符串数组和字符向量与关系运算符和比较字符串函数。属性可以对字符串数组排序排序函数,就像对任何其他类型的数组进行排序一样。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 == chr)
TF =2 x3逻辑阵列0 1 0 0 0 0 0

索引str1特遣部队提取匹配的字符串元素双子座。可以使用逻辑数组对数组进行索引。

str1 (TF)
ans =“双子座”

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

TF = (str1 ~= chr)
TF =2 x3逻辑阵列10 11 11 11
str1 (TF)
ans =5 x1字符串数组"水星" "天空实验室" "天空实验室B" "阿波罗" "国际空间站"

比较两个非标量字符串数组。当比较两个非标量数组时,它们的大小必须相同。

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 = [“桑切斯”,“琼斯”,“德桥”,“克罗斯比”,“纳什”];(str >“马修”)
TF =1 x5逻辑阵列1 0 1 0 1
str (TF)
ans =1 x3字符串数组"桑切斯" "德庞特" "纳什"

字符串数组排序

可以对字符串数组进行排序。MATLAB使用UTF-16字符编码方案将字符存储为Unicode。字符和字符串数组按照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逻辑阵列1 .转化为1 .转化为1 .转化为1 .转化为1

isstrprop函数可以查询许多不同特征的字符。isstrprop可以确定字符串或字符向量中的字符是字母、字母数字字符、十进制或十六进制数字还是标点字符。

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

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

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

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

另请参阅

||||||||||

相关的话题

这个话题有用吗?