比较文本
以不同的方式比较字符数组和字符串数组中的文本。可以将字符串数组和字符向量与关系运算符和比较字符串
函数。方法对字符串数组进行排序排序
函数,就像对任何其他类型的数组进行排序一样。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
另请参阅
比较字符串
|排序
|isstrprop
|胰岛
|isspace
|情商
|不
|gt
|通用电气
|勒
|lt