- Scilab Help
- Strings
- ascii
- asciimat
- blanks
- char
- convstr
- emptystr
- eval
- evstr
- grep
- isalphanum
- isascii
- isdigit
- isletter
- isnum
- justify
- length
- part
- prettyprint
- regexp
- sci2exp
- strcat
- strchr
- strcmp
- strcmpi
- 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
find matches of a string in a vector of strings
Syntax
row = grep(haystack, needle ) [row, which] = grep(haystack, needle ) row = grep(haystack, needle, [flag]) [row, which] = grep(haystack, needle, [flag])
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
needle
string found or an empty matrix if no match found.- flag
a character (
"r"
for regular expression).
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.
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 an other 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
Report an issue | ||
<< evstr | Strings | isalphanum >> |