主要内容

比较文本

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

比较字符串数组是否相等

可以比较字符串数组与关系操作符是否相等= =而且~ =.比较字符串数组时,输出是一个逻辑数组1什么关系是正确的,和0这不是真的。

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

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

比较str1而且str2为平等。

Str1 == str2
ans =逻辑0

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

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

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

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

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

str1 (TF)
ans =双子座

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

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

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

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

索引str1来提取匹配项。

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

比较字符串数组和其他关系操作符

还可以将字符串与关系操作符进行比较>>=<,<=.以大写字母开头的字符串出现在以小写字母开头的字符串之前。例如,字符串“ABC”小于“abc”.数字和一些标点符号也出现在字母之前。

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

方法将包含名称的字符串数组与另一个名称进行比较>操作符。的名字桑切斯德桥,纳什来后马修斯,因为年代d,N都大于

STR = [“桑切斯”“琼斯”“德桥”“克罗斯比”“纳什”];TF = (str >“马修”
TF =1x5逻辑阵列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字符串木星,火星,阿波罗,水星,土星,海王星

要对每行中的元素排序,请sortstr2沿着第二个维度。

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

比较字符向量

您可以相互比较字符向量和字符向量的单元格数组。使用比较字符串函数比较两个字符向量,或strncmp为了比较第一个N字符。你也可以用strcmpi而且strncmpi用于不区分大小写的比较。

的两个字符向量进行比较比较字符串函数。chr1而且chr2不平等。

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 =3x1逻辑阵列1 0 0

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

方法检查字符串数组或字符数组中的字符isstrprop胰岛,isspace功能。

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

  • 胰岛而且isspace函数只检查字符数组中的字符。

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

空空的=“八十七年前”;TF = isspace(chr)
TF =1x30逻辑阵列0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

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

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

str =“一匹马!一匹马!用我的王国换一匹马!”
str = "一匹马! "一匹马!用我的王国换一匹马!”
isstrprop (str,“punct”
ans =1x41逻辑阵列0 0 0 0 0 0 0 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 0 1

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

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

另请参阅

||||||||||

相关的话题