Main Content

contains

确定字符串中是否有模式

说明

示例

如果 str 包含指定的模式,TF = contains(str,pat) 将返回 1 (true),否则返回 0 (false)。

如果 pat 是一个包含多个模式的数组,则当 containsstr 中发现任何 pat 元素时,它将返回 1

如果 str 是字符串数组或元胞数组,则 TF 是与 str 具有相同大小的逻辑数组。

示例

TF = contains(str,pat,'IgnoreCase',true) 在确定 str 是否包含 pat 时将忽略大小写。

示例

全部折叠

创建一个由人名组成的字符串数组,其中一些人名包含 Paul

您可以使用双引号创建字符串。

str = ["Mary Ann Jones","Paul Jay Burns","John Paul Smith"]
str = 1x3 string
    "Mary Ann Jones"    "Paul Jay Burns"    "John Paul Smith"

返回一个逻辑数组,其中等于 1 的每个元素的位置对应于 str 中包含 Paul 的字符串的位置。

pat = "Paul";
TF = contains(str,pat)
TF = 1x3 logical array

   0   1   1

显示包含 Paul 的字符串。使用 TF 重新索引 str

str(TF)
ans = 1x2 string
    "Paul Jay Burns"    "John Paul Smith"

自 R2020b 开始提供

创建一个包含地址的字符串数组。

str = ["221B Baker St.","Tour Eiffel Champ de Mars","4059 Mt Lee Dr."]
str = 1x3 string
    "221B Baker St."    "Tour Eiffel Champ de Mars"    "4059 Mt Lee Dr."

要查找包含数字的地址,请使用 digitsPattern 函数创建一个匹配任意位数字的模式。

pat = digitsPattern
pat = pattern
  Matching:

    digitsPattern

返回一个逻辑数组,指示哪些字符串包含数字。显示匹配的字符串。

TF = contains(str,pat)
TF = 1x3 logical array

   1   0   1

str(TF)
ans = 1x2 string
    "221B Baker St."    "4059 Mt Lee Dr."

搜索包含一序列数字且后跟一个字母的字符串。您可以通过组合简单模式来构建更复杂的模式。

pat = digitsPattern + lettersPattern(1)
pat = pattern
  Matching:

    digitsPattern + lettersPattern(1)

TF = contains(str,pat);
str(TF)
ans = 
"221B Baker St."

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

创建一个由人名组成的字符串数组,其中一些人名包含 AnnPaul

str = ["Mary Ann Jones","Christopher Matthew Burns","John Paul Smith"]
str = 1x3 string
    "Mary Ann Jones"    "Christopher Matthew Burns"    "John Paul Smith"

查找 str 中包含 AnnPaul 的元素。

pat = ["Ann","Paul"];
TF = contains(str,pat)
TF = 1x3 logical array

   1   0   1

使用 TF 重新索引 str

str(TF)
ans = 1x2 string
    "Mary Ann Jones"    "John Paul Smith"

创建一个包含名字的字符串数组。确定哪些名称包含 anne,忽略大小写。

您可以使用双引号创建字符串。

str = ["Anne","Elizabeth","Marianne","Tracy"]
str = 1x4 string
    "Anne"    "Elizabeth"    "Marianne"    "Tracy"

pat = "anne";
TF = contains(str,pat,'IgnoreCase',true)
TF = 1x4 logical array

   1   0   1   0

显示包含 anne 的字符串。使用 TF 重新索引 str

str(TF)
ans = 1x2 string
    "Anne"    "Marianne"

创建包含食品列表的字符向量。确定字符向量中是否包含不同食品的名称。

chr = 'peppers, onions, and mushrooms';
TF = contains(chr,'onion')
TF = logical
   1

TF = contains(chr,'pineapples')
TF = logical
   0

输入参数

全部折叠

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

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

  • 字符串数组

  • 字符向量

  • 字符向量元胞数组

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

扩展功能

版本历史记录

在 R2016b 中推出