поиск соответствий строки в векторе строк
[row, which] = grep(haystack, needle ) [row, which] = grep(haystack, needle, "regexp" )
вектор-строка символьных строк.
символьная строка или вектор-строка символьных строк.
Строка (строки), которая ищется в haystack
.
вектор индексов: строка, где было найдено соответствие или пустая матрица, если соответствие не найдено.
вектор индексов: индекс найденной строки
needle
или пустая матрица, если
соответствия не найдено.
одиночный символ: тогда элементы 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
В следующем примере выполняется поиск с помощью регулярных выражений.