13
13
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="strindex" xml:lang="ja">
15
<refname>strindex</refname>
16
<refpurpose>他の文字列の中で指定した文字列の位置を探す.</refpurpose>
20
<synopsis>ind=strindex(haystack,needle,[flag])
21
[ind,which]=strindex(haystack,needle,[flag])
31
<literal>needle</literal>が現れる場所を探す文字列
39
<literal>haystack</literal>で探す文字列
46
<para>インデックスのベクトル</para>
52
<para>インデックスのベクトル</para>
58
<para>文字列("r" の場合は正規表現)</para>
66
<literal>strindex</literal> は,
67
<literal>haystack</literal>の中で<literal>needle(i)</literal>が
71
各<literal>k</literal>に関して,
72
<literal>part(haystack,ind(k)+(0:length(needle(i))-1))</literal>
73
が<literal>needle(i)</literal>と同じ文字列となるよな
74
<literal>i</literal>が存在します.
75
<literal>which</literal>引数が必要な場合,
76
これにはこれらの<literal>i</literal>が含まれる必要があります.
77
3番目のパラメータ "r" を指定する場合,
78
needle は正規表現の文字列とする必要があります.
79
この場合, strindex は正規表現式の規則に基づき haystack に
83
正規表現式引数を指定しない<literal>strindex</literal>は
84
Knuth-Morris-Prattアルゴリズムに基づきます.
86
<para>このアルゴリズムは Scilab 4.x で使用されるものよりも
87
より強力です. いくつかの特殊なケースでは,結果が異なることがあります.
90
<para>// scilab 5.x</para>
91
<para>-->[k,w]=strindex('aab',['a','ab'])</para>
92
<para>w = 1. 1. 2. k = 1. 2. 2.</para>
93
<para>// scilab 4.x</para>
94
<para>-->[k,w]=strindex('aab',['a','ab'])</para>
95
<para>w = 1. 1. k = 1. 2.</para>
96
<para>正規表現の規則はPerl言語に似ていますT. 使い始めるには,
97
<ulink url="http://perldoc.perl.org/perlrequick.html">http://perldoc.perl.org/perlrequick.html</ulink>を参照してください.
98
より詳細なチュートリアルについては <ulink url="http://perldoc.perl.org/perlretut.html">http://perldoc.perl.org/perlretut.html</ulink>
100
リファレンスについては, <ulink url="http://perldoc.perl.org/perlre.html">http://perldoc.perl.org/perlre.html</ulink>
106
<programlisting role="example"><![CDATA[
15
<refname>strindex</refname>
16
<refpurpose>他の文字列の中で指定した文字列の位置を探す.</refpurpose>
20
<synopsis>ind=strindex(haystack,needle,[flag])
21
[ind,which]=strindex(haystack,needle,[flag])
31
<literal>needle</literal>が現れる場所を探す文字列
39
<literal>haystack</literal>で探す文字列
46
<para>インデックスのベクトル</para>
52
<para>インデックスのベクトル</para>
58
<para>文字列("r" の場合は正規表現)</para>
66
<literal>strindex</literal> は,
67
<literal>haystack</literal>の中で<literal>needle(i)</literal>が
71
各<literal>k</literal>に関して,
72
<literal>part(haystack,ind(k)+(0:length(needle(i))-1))</literal>
73
が<literal>needle(i)</literal>と同じ文字列となるよな
74
<literal>i</literal>が存在します.
75
<literal>which</literal>引数が必要な場合,
76
これにはこれらの<literal>i</literal>が含まれる必要があります.
77
3番目のパラメータ "r" を指定する場合,
78
needle は正規表現の文字列とする必要があります.
79
この場合, strindex は正規表現式の規則に基づき haystack に
83
正規表現式引数を指定しない<literal>strindex</literal>は
84
Knuth-Morris-Prattアルゴリズムに基づきます.
86
<para>このアルゴリズムは Scilab 4.x で使用されるものよりも
87
より強力です. いくつかの特殊なケースでは,結果が異なることがあります.
90
<para>// scilab 5.x</para>
91
<para>-->[k,w]=strindex('aab',['a','ab'])</para>
92
<para>w = 1. 1. 2. k = 1. 2. 2.</para>
93
<para>// scilab 4.x</para>
94
<para>-->[k,w]=strindex('aab',['a','ab'])</para>
95
<para>w = 1. 1. k = 1. 2.</para>
96
<para>正規表現の規則はPerl言語に似ていますT. 使い始めるには,
97
<ulink url="http://perldoc.perl.org/perlrequick.html">http://perldoc.perl.org/perlrequick.html</ulink>を参照してください.
98
より詳細なチュートリアルについては <ulink url="http://perldoc.perl.org/perlretut.html">http://perldoc.perl.org/perlretut.html</ulink>
100
リファレンスについては, <ulink url="http://perldoc.perl.org/perlre.html">http://perldoc.perl.org/perlre.html</ulink>
106
<programlisting role="example"><![CDATA[
107
107
k=strindex('SCI/demos/scicos','/')
108
108
k=strindex('SCI/demos/scicos','SCI/')
109
109
k=strindex('SCI/demos/scicos','!')
112
112
[k,w]=strindex('1+3*abc/2.33',['+','-','*','/'])
113
113
k=strindex('2' ,'/2(]*)?$\1/' ,'r')
114
114
]]></programlisting>
116
<refsection role="see also">
118
<simplelist type="inline">
120
<link linkend="string">string</link>
123
<link linkend="strings">strings</link>
126
<link linkend="regexp">regexp</link>
129
<link linkend="strsubst">strsubst</link>
116
<refsection role="see also">
118
<simplelist type="inline">
120
<link linkend="string">string</link>
123
<link linkend="strings">strings</link>
126
<link linkend="regexp">regexp</link>
129
<link linkend="strsubst">strsubst</link>