文档

比较文本

以不同方式比较字符数组和字符串数组中的文本。串阵列在R2016B中引入。您可以将字符串数组和字符向量与关系运算符进行比较Strcmp.函数。属性对字符串数组进行排序种类函数,就像您对任何其他类型的阵列进行排序。Matlab®还提供了检查文本中的字符的功能。例如,您可以确定字符向量或字符串数​​组中的哪些字符是字母或空格字符。

比较字符串数组以获得平等

可以用关系操作符比较字符串数组是否相等==.〜=.当您比较字符串数组时,输出是一个逻辑数组1在什么情况下关系是正确的0在那里它不是真的。

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

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

比较str1str2为平等。

str1 == str2.
ans =逻辑0

将包含多个元素的字符串数组与字符串标量进行比较。

str1 = [“汞”“双子座”“apollo”...“skylab”B“天空实验室”“国际空间站”];str2 =“apollo”;str1 == str2.
ans =2 x3逻辑阵列0 0 1 0 0 0

比较字符串数组和字符向量。只要其中一个变量是字符串数组,就可以进行比较。

空空的='双子座';tf =(str1 == chr)
TF =2 x3逻辑阵列0 1 0 0 0

索引str1特遣部队要提取匹配的字符串元素双子座.可以使用逻辑数组在数组中建立索引。

str1 (TF)
ans =“双子座”

比较不等式使用〜=操作符。索引str1提取不匹配的元素'双子座'

TF = (str1 ~= chr)
TF =2 x3逻辑阵列1 0 1 1 1 1
str1 (TF)
ans =5 x1字符串数组“水星”“Skylab”“Skylab B”“Apollo”“国际空间站”

比较两个非卡尔弦阵列数组。当您比较两个非卡尔阵列时,它们必须具有相同的大小。

str2 = [“汞”“火星”“apollo”...“木星”“土星”“海王星”];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®使用UTF-16字符编码方案将字符作为Unicode存储。根据UTF-16代码点顺序对字符和字符串数组进行排序。对于也是ASCII字符的字符,此订单意味着大写字母在小写字母之前。数字和一些标点符号也来到字母之前。

对字符串数组进行排序str

排序(str)
ans =1 x5字符串数组"克劳斯比" "琼斯" "纳什" "桑切斯" "德·庞特"

排序一个2乘3的字符串数组。的种类函数对每一列中的元素分别进行排序。

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

要对每一行中的元素进行排序,请使用排序str2沿着第二维度。

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

比较特征向量

您可以将字符向量和彼此的字符向量和单元格阵列进行比较。使用Strcmp.比较两个字符向量的功能,或strncmp比较第一个N字符。你也可以用strcmpistrncmpi不区分大小写的比较。

将两个字符向量与Strcmp.函数。chr1chr2不平等。

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

注意MATLABStrcmp.与C版不同Strcmp..的C版本Strcmp.返回0当两个字符阵列相同时,而不是它们不同的时候。

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

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

比较两个字符向量单元格数组。Strcmp.返回与单元格数组大小相同的逻辑数组。

c1 = {'比萨''筹码'“糖果”};C2 = {'比萨'“巧克力”'椒盐脆饼'};比较字符串(C1, C2)
ans =3 x1逻辑阵列1 0 0

检查字符串和字符数组中的字符

属性可以检查字符串数组或字符数组中的字符isstrprop胰岛, 和isspace职能。

  • isstrprop检查字符串数组或字符数组中的字符。

  • 胰岛isspace函数仅在字符阵列中检查字符。

确定字符向量中的哪些字符是空格字符。isspace返回与尺寸相同的逻辑向量空空的

空空的='四分和七年前';TF = isspace(科)
TF =1 x30逻辑阵列0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 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(chr,“α”
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

另请参阅

||||||||||

相关话题