search position of a character string in another string
[ind, which] = strindex(haystack, needle) [ind, which] = strindex(haystack, needle, "regexp")
a character string. The string where to search
occurrences of needle.
a character string or character string vector. The
string(s) to search in haystack.
a vector of indexes.
a vector of indexes.
Then needle elements are used as regular expressions.
strindex searches indexes where
needle(i) is found in haystack.
For each k it exist an i such
that part(haystack,ind(k)+(0:length(needle(i))-1)) is
the same string than needle(i). If
which argument is required it contains these
i. When using the third parameter "r", the needle
should be a string of regular expression. And then strindex is going to
match it with haystack according to the regular express rules.
strindex without regular expression argument is
based on Knuth-Morris-Pratt algorithm.
This algorithm is more powerful than that used in Scilab 4.x. In some special case, result can be different.
Example:
// Scilab 5.x
-->[k,w]=strindex('aab',['a','ab'])
w = 1. 1. 2. k = 1. 2. 2.
// Scilab 4.x
-->[k,w]=strindex('aab',['a','ab'])
w = 1. 1. k = 1. 2.
The rules of regular expression are processed by PCRE2. For a quick syntax tour, see regexp. For full syntax specification, see the regular expressions supported by PCRE2.