- Scilabヘルプ
- 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
strindex
他の文字列の中で指定した文字列の位置を探す.
呼び出し手順
ind = strindex(haystack, needle, [flag]) [ind, which] = strindex(haystack, needle, [flag])
引数
- haystack
文字列.
needle
が現れる場所を探す文字列- needle
文字列または文字列ベクトル.
haystack
で探す文字列- ind
添字のベクトル
- which
添字のベクトル
- flag
文字列(
"r"
の場合は正規表現)
説明
strindex
は,
haystack
の中でneedle(i)
が
見つかる場所のインデックスを探します.
各k
に関して,
part(haystack,ind(k)+(0:length(needle(i))-1))
がneedle(i)
と同じ文字列となるよな
i
が存在します.
which
引数が必要な場合,
これにはこれらのi
が含まれる必要があります.
3番目のパラメータ"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言語に似ていますT. 使い始めるには, http://perldoc.perl.org/perlrequick.htmlを参照してください. より詳細なチュートリアルについては http://perldoc.perl.org/perlretut.html を参照ください. リファレンスについては, http://perldoc.perl.org/perlre.html を参照してください
例
k=strindex('SCI/demos/scicos','/') k=strindex('SCI/demos/scicos','SCI/') k=strindex('SCI/demos/scicos','!') k=strindex('aaaaa','aa') k=strindex('SCI/demos/scicos',['SCI','sci']) [k,w]=strindex('1+3*abc/2.33',['+','-','*','/']) k=strindex('2' ,'/2(]*)?$\1/' ,'r')
参照
Report an issue | ||
<< strcspn | Strings | string >> |