contains

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

Описание

пример

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

Если 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, игнорируя случай.

Начиная с 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 года)

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

.
Введенный в R2016b