Main Content

matches

确定模式是否与字符串匹配

自 R2019b 起

说明

示例

TF = matches(str,pat) 会在指定模式与 str 有匹配时返回 1 (true),否则返回 0 (false)。如果 str 是数组,则 TF 是相同大小的数组。

如果 pat 是包含多个模式的数组,则 matches 在发现 pat 中任一元素与 str 有匹配时将返回 1

示例

TF = matches(str,pat,IgnoreCase=true) 在确定 pat 是否与 str 有匹配时忽略大小写。

示例

全部折叠

创建一个字符串数组。

str = ["Mercury","Venus","Earth","Mars"]
str = 1x4 string
    "Mercury"    "Venus"    "Earth"    "Mars"

查找匹配 "Earth" 的字符串。返回一个逻辑数组,其中每个元素 1 的位置对应于 str 中一个匹配字符串的位置。

TF = matches(str,"Earth")
TF = 1x4 logical array

   0   0   1   0

使用 TF 再次对 str 进行索引,以显示匹配项。

str(TF)
ans = 
"Earth"

自 R2020b 开始提供

创建一个表示数字的字符串数组。有些数是具有 0x 前缀的十六进制数。

str = ["137","0xA7B","0x1248","72","0xG7"]
str = 1x5 string
    "137"    "0xA7B"    "0x1248"    "72"    "0xG7"

创建一个匹配十六进制数字的模式。要匹配单个十六进制数字,请指定一个模式,该模式匹配任意数字、任意大写字母 A-F 或任意小写字母 a-f。然后,指定一个模式,该模式以 0x 开头并后跟任意数量的十六进制数字。

pat = digitsPattern(1) | characterListPattern("A","F") | characterListPattern("a","f");
pat = "0x" + asManyOfPattern(pat)
pat = pattern
  Matching:

    "0x" + asManyOfPattern(digitsPattern(1) | characterListPattern("A","F") | characterListPattern("a","f"))

查找匹配的 str 元素。(最后一个元素不匹配,因为它包含错误:G 不是一个十六进制数字。)

TF = matches(str,pat)
TF = 1x5 logical array

   0   1   1   0   0

要显示匹配项,请使用 TFstr 进行索引。

str(TF)
ans = 1x2 string
    "0xA7B"    "0x1248"

有关创建模式对象的函数列表,请参阅pattern

有关十六进制数的详细信息,请参阅十六进制和二进制值

创建一个字符串数组。

str = ["Mercury","Venus","Earth","Mars"]
str = 1x4 string
    "Mercury"    "Venus"    "Earth"    "Mars"

查找匹配 "Venus""Earth"str 元素。

TF = matches(str,["Venus","Earth"])
TF = 1x4 logical array

   0   1   1   0

使用 TFstr 进行索引,以显示匹配项。

str(TF)
ans = 1x2 string
    "Venus"    "Earth"

创建一个字符串数组。

str = ["Mercury","Venus","Earth","Mars"]
str = 1x4 string
    "Mercury"    "Venus"    "Earth"    "Mars"

查找与 "earth" 匹配的 str 元素,忽略大小写。

TF = matches(str,"earth",IgnoreCase=true)
TF = 1x4 logical array

   0   0   1   0

显示匹配的字符串。

str(TF)
ans = 
"Earth"

输入参数

全部折叠

输入文本,指定为字符串数组、字符向量或字符向量元胞数组。

搜索模式,指定为下列值之一:

  • 字符串数组

  • 字符向量

  • 字符向量元胞数组

  • pattern 数组(自 R2020b 开始提供)

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2019b 中推出