exponenta event banner

содержит

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

Описание

пример

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