strindex
поиск положения символьной строки в другой строке
Последовательность вызова
ind = strindex(haystack, needle, [flag])
[ind, which] = strindex(haystack, needle, [flag])
Аргументыhaystack
символьная строка. Строка, в которой ищутся совпадения
с needle.
needle
символьная строка или вектор символьных строк. Строка
(строки) которая ищется в haystack.
indвектор индексов.whichвектор индексов.flag
строка ("r" для регулярного
выражения).
Описание
Функция strindex ищет индексы, где найдена
needle(i) в haystack.
Для каждого k существует такая
i, что part(haystack,ind(k)+(0:length(needle(i))-1))
является той же самой строкой, что и needle(i).
Если указан аргумент which, то он содержит эти
i. Когда используется третий параметр
"r", то needle должна быть
строкой регулярного выражения, и тогда
strindex будет сравнивать её с
haystack по правилам регулярного выражения.
strindex без аргумента регулярного выражения
основывается на алгоритме Кнута-Морриса-Пратта [Knuth-Morris-Pratt].
Этот алгоритм более мощный, чем тот, который использовался в Scilab
4.x. В некоторых частных случаях результат может быть различным.
Пример:// 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.
Правила регулярного выражения сходны с языком Perl. Для быстрого старта см.http://perldoc.perl.org/perlrequick.html.
Для более глубокого изучения см. http://perldoc.perl.org/perlretut.html,
а для справки см. http://perldoc.perl.org/perlre.html.
ПримерыСмотрите также
string
strings
regexp
strsubst