grep
find matches of a string in a vector of strings
Syntax
[row, which] = grep(haystack, needle ) [row, which] = grep(haystack, needle, "regexp" )
Arguments
- haystack
a row vector of character strings.
- needle
a character string or a row vector of character strings. The string(s) to search in
haystack.- row
a vector of indices: row where a match has been found or an empty matrix if no match found.
- which
a vector of indices: index of
needlestring found or an empty matrix if no match found.- "regexp" | "r" flag
single character: Then
needleelements are used as regular expressions.
Description
For each entry of haystack, grep
searches if at least a string in needle which matches a
substring. The haystack entries index where at least a
match has been found are returned in the row output
argument. The optional which output argument gives the
index of first string of needle found.
When using the third parameter flag="r", the
needle is expected to be a regular expression string.
In this case, grep uses the
needle as a regular expression and compares it
against haystack according to the regular expressions
rules. See the regexp function for details about
regular expressions.
Examples
Example #1
In the following example, we search one or two strings in a text,
which is stored in the txt variable.
txt=['find matches of a string in a vector of strings' 'search position of a character string in another string' 'Compare Strings']; grep(txt,'strings') grep(txt,['strings' 'Strings']) [r,w]=grep(txt,['strings' 'Strings'])
Example #2
In the following example, we perform regexp searches.
str = ["hat";"cat";"hhat";"chat";"hcat";"ccchat";"at";"dog"] grep(str,'/[hc]+at/','r') grep(str,'/[hc]?at/','r') grep(str,'/cat|dog/','r')
See also
- strindex — search position of a character string in another string
- regexp — find a substring that matches the regular expression string
- find — donne la position des éléments %T ou non nuls d'un tableau booléen ou numérique.
- vectorfind — locates occurences of a (wildcarded) vector in a matrix or hypermatrix
| Report an issue | ||
| << evstr | Chaînes de caractères | isalphanum >> |