contains

Определите, находится ли шаблон в строках

Описание

пример

TF = contains(str,pat) возвращает 1 TRUE) если str содержит заданный шаблон и возвращает 0 ложь) в противном случае.

Если pat массив, содержащий несколько шаблонов, затем contains возвращает 1 если это находит какой-либо элемент pat в str.

пример

TF = contains(str,pat,'IgnoreCase',true) игнорирует регистр при определении если str содержит pat.

Примеры

свернуть все

Создайте массив строк имен, где некоторые имена содержат Paul.

Начиная в R2017a, можно создать строки с помощью двойных кавычек.

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

Если вы используете R2016b, создаете строковые массивы с помощью string функция вместо двойных кавычек.

Возвратите логический массив, где положение каждого элемента равняется 1 соответствует положению строки в str это содержит Paul.

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

   0   1   1

Отобразите строки, которые содержат Paul. Индексируйте назад в str использование TF.

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..."    "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.

Создайте массив строк имен, где некоторые имена содержат любой Ann или Paul.

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

Найдите элементы str это содержит любой Ann или Paul.

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

   1   0   1

Индексируйте назад в str использование TF.

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

Создайте массив строк, который содержит имена. Определите, какие имена содержат anne'IgnoringCase' .

Начиная в R2017a, можно создать строки с помощью двойных кавычек.

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. Индексируйте назад в str использование TF.

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)

Расширенные возможности

Введенный в R2017b