grep
поиск соответствий строки в векторе строк
Синтаксис
[row, which] = grep(haystack, needle ) [row, which] = grep(haystack, needle, "regexp" )
Аргументы
- haystack
вектор-строка символьных строк.
- needle
символьная строка или вектор-строка символьных строк. Строка (строки), которая ищется в
haystack.- row
вектор индексов: строка, где было найдено соответствие или пустая матрица, если соответствие не найдено.
- which
вектор индексов: индекс найденной строки
needleили пустая матрица, если соответствия не найдено.- флаг "regexp" | "r"
одиночный символ: тогда элементы
needleиспользуются как регулярные выражения.
Описание
Для каждого элемента haystack функция grep
ищет соответствие подстроки со строкой в needle.
Индекс элементов haystack, где было найдено
соответствие, возвращается в выходном аргументе
row. Необязательный выходной аргумент
which даёт индекс первого найденного строкового
значения в needle.
Когда используется третий параметр flag="r",
то ожидается, что needle будет строкой
регулярного выражения. В этом случае grep
использует needle в качестве регулярного
выражения и сравнивает его с haystack в
соответствии с правилами регулярного выражения. См. подробности по регулярным выражениям
в функции regexp.
Примеры
Пример № 1
В следующем примере мы ищем одну или две строки в тексте, который
хранится в переменной txt.
txt=['поиск соответствий строк в векторе строк' 'поиск положения символьной строки в другой строке' 'Сравнение Строк']; grep(txt,'строк') grep(txt,['строк' 'Строк']) [r,w]=grep(txt,['строк' 'Строк'])
Пример № 2
В следующем примере выполняется поиск с помощью регулярных выражений.
str = ["hat";"cat";"hhat";"chat";"hcat";"ccchat";"at";"dog"] grep(str,'/[hc]+at/','r') grep(str,'/[hc]?at/','r') grep(str,'/cat|dog/','r')
Смотрите также
- strindex — поиск положения символьной строки в другой строке
- regexp — в строке найдите (и распакуйте) подстроки, соответствующие регулярному выражению
- find — даёт индексы элементов с ненулевым значением или значением %T
- vectorfind — ищет расположение вектора (отмеченный символом групповой подстановки) в матрице или гиперматрице
| Report an issue | ||
| << evstr | Строки | isalphanum >> |