比较文本

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

比较字符串数组是否相等

您可以比较字符串数组与关系运算符平等= =~=。当你比较字符串数组,输出是具有逻辑阵列1其中的关系是真实的,0它是不正确的。

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

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

比较STR1STR2平等。

str1 = = str2
ANS =合乎逻辑0

比较多个元素为一个字符串标量的字符串数组。

STR1 = [“水星”“双子座”“阿波罗”;...“天空实验室”“天空实验室B”“国际空间站”];STR2 =“阿波罗”;str1 = = str2
ANS =2×3阵列的逻辑0 0 1 0 0 0

比较一个字符串数组为字符向量。只要其中一个变量是一个字符串数组,你可以作出比较。

CHR =“双子座”;TF = (str1 == chr)
TF =2×3阵列的逻辑0 1 0 0 0 0

索引STR1TF提取匹配的字符串元素双子座。可以使用逻辑阵列来索引到一个数组。

STR1(TF)
ANS = “双子”

比较使用不等式~=运营商。索引STR1提取不匹配的元素“双子座”

TF =(STR1〜= CHR)
TF =2×3阵列的逻辑1 0 1 1 1 1
STR1(TF)
ANS =5X1线"水星" "天空实验室" "天空实验室B" "阿波罗" "国际空间站"

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

str2 = [“水星”“火星”“阿波罗”;...“木星”“土星”“海王星”];TF =(STR1 == STR2)
TF =2×3阵列的逻辑1 0 1 0 0 0

索引STR1提取匹配。

STR1(TF)
ANS =2×1线“水星”,“阿波罗”

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

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

“ABC”<“ABC”
ANS =合乎逻辑1

方法将包含名称的字符串数组与另一个名称进行比较>运营商。名字桑切斯德蓬特,纳什来后马修斯,因为小号d,ñ所有大于中号

str = [“桑切斯”“琼斯”“德蓬特”“克罗斯比”“纳什”];(str >“马修斯”
TF =1×5阵列的逻辑1 0 1 0 1
STR(TF)
ANS =1 x3字符串“桑切斯”,“德蓬”,“纳什”

排序字符串数组

可以对字符串数组进行排序。MATLAB使用UTF-16字符编码方案将字符存储为Unicode。字符和字符串数组按照UTF-16代码点顺序排序。对于同样是ASCII字符的字符,这种顺序意味着大写字母在小写字母之前。数字和一些标点符号也出现在字母之前。

排序字符串数组海峡

排序(STR)
ANS =1×5串“克罗斯比”“琼斯”,“纳什”,“桑切斯”,“德蓬特”

排序2×3字符串数组。该排序函数对在单独每列中的元素。

排序(STR2)
ANS =2×3串"木星"火星"阿波罗"水星"土星"海王星"

每一行中的元素排序排序,STR2沿着第二维度。

排序(str2,2)
ANS =2×3串“阿波罗”,“火星”,“水星”,“木星”,“海王星”,“土星”

比较特征向量

可以比较字符向量和字符向量的单元格数组。使用比较字符串函数比较两个字符向量,或STRNCMP比较第一个ñ字符。您还可以使用strcmpistrncmpi对于不区分大小写的比较。

与比较两个特征向量比较字符串功能。CHR1CHR2是不相等的。

CHR 1 ='你好';CHR2 ='救命';TF = strcmp (chr1 chr2)
TF =合乎逻辑0

需要注意的是,MATLAB比较字符串不同于C版本的比较字符串。C版比较字符串回报0当两个字符数组相同时,而不是当它们不同时。

比较前两个字符和STRNCMP功能。TF1因为这两个特征向量开始字符

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

比较字符向量的两个单元阵列。比较字符串返回一个逻辑阵列的大小与单元阵列相同。

C1 = {“披萨”;“芯片”;'糖果'};C2 = {“披萨”;'巧克力';“椒盐卷饼”};的strcmp(C1,C2)
ANS =3X1逻辑阵列1 0 0

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

您可以检查字符串数组或字符数组与字符isstrpropisletter,isspace为功能。

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

  • isletterisspace为函数只检查字符数组中的字符。

确定在字符向量字符是空格字符。isspace为返回大小与。相同的逻辑向量CHR

CHR =“八十七年以前。”;TF = isspace为(CHR)
TF =1X30逻辑阵列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

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

确定字符串中的哪些字符是标点符号。isstrprop返回其长度等于字符的数目的逻辑矢量海峡

海峡=“马!马!我的王国,一匹马!”
海峡=“马!马!我对马的王国!”
isstrprop(STR,“PUNCT”
ANS =1x41的逻辑阵列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

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

isstrprop(空空的,“阿尔法”
ANS =1X30逻辑阵列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

也可以看看

||||||||||

相关的话题