exponenta event banner

матчи

Определение соответствия массива строкам

Описание

пример

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

Если pat является массивом, содержащим несколько шаблонов, то matches прибыль 1 если он обнаружит, что любой элемент pat матчи str.

пример

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

Отобразить совпадение, проиндексировав обратно в str использование TF.

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

Чтобы отобразить совпадения, выполните индексирование в str использование TF.

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

Список функций, создающих объекты массива, см. в разделе pattern.

Дополнительные сведения о шестнадцатеричных числах см. в разделе Шестнадцатеричные и двоичные значения.

Создайте строковый массив.

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

Найти элементы str которые совпадают либо "Venus" или "Earth".

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

   0   1   1   0

Отображение совпадений путем индексирования в str использование TF.

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

Создайте строковый массив.

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

Найти элемент str что соответствует "earth", игнорируя дело.

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

   0   0   1   0

Отображение соответствующей строки.

str(TF)
ans = 
"Earth"

Входные аргументы

свернуть все

Входной текст, заданный как строковый массив, символьный вектор или массив ячеек символьных векторов.

Шаблон поиска, указанный как один из следующих:

  • Строковый массив

  • Символьный вектор

  • Массив ячеек символьных векторов

  • pattern массив (с R2020b года)

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b