- Справка Scilab
- Строки
- ascii
- asciimat
- blanks
- char
- convstr
- emptystr
- evstr
- grep
- isalphanum
- isascii
- isdigit
- isletter
- isnum
- justify
- length
- part
- prettyprint
- regexp
- sci2exp
- strcat
- strchr
- strcmp
- strcspn
- strindex
- string
- strings
- stripblanks
- strncpy
- strrchr
- strrev
- strsplit
- strspn
- strstr
- strsubst
- strtod
- strtok
- tokenpos
- tokens
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
grep
поиск соответствий строки в векторе строк
Синтаксис
row = grep(haystack, needle ) [row, which] = grep(haystack, needle ) row = grep(haystack, needle, [flag]) [row, which] = grep(haystack, needle, [flag])
Аргументы
- haystack
вектор-строка символьных строк.
- needle
символьная строка или вектор-строка символьных строк. Строка (строки), которая ищется в
haystack
.- row
вектор индексов: строка, где было найдено соответствие или пустая матрица, если соответствие не найдено.
- which
вектор индексов: индекс найденной строки
needle
или пустая матрица, если соответствия не найдено.- flag
символ (
"r"
для регулярного выражения).
Описание
Для каждого элемента 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')
Смотрите также
Report an issue | ||
<< evstr | Строки | isalphanum >> |