c4875cfe7a5c71429d83a11449240d1e83f8e0eb
[scilab.git] / scilab / modules / string / help / ja_JP / strindex.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) INRIA - 
5  * 
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at    
10  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
11  *
12  -->
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" xmlns:scilab="http://www.scilab.org" xml:id="strindex" xml:lang="ja">
14     <refnamediv>
15         <refname>strindex</refname>
16         <refpurpose>他の文字列の中で指定した文字列の位置を探す.</refpurpose>
17     </refnamediv>
18     <refsynopsisdiv>
19         <title>呼び出し手順</title>
20         <synopsis>ind=strindex(haystack,needle,[flag])
21             [ind,which]=strindex(haystack,needle,[flag])
22         </synopsis>
23     </refsynopsisdiv>
24     <refsection>
25         <title>パラメータ</title>
26         <variablelist>
27             <varlistentry>
28                 <term>haystack</term>
29                 <listitem>
30                     <para>文字列. 
31                         <literal>needle</literal>が現れる場所を探す文字列
32                     </para>
33                 </listitem>
34             </varlistentry>
35             <varlistentry>
36                 <term>needle</term>
37                 <listitem>
38                     <para>文字列または文字列ベクトル. 
39                         <literal>haystack</literal>で探す文字列
40                     </para>
41                 </listitem>
42             </varlistentry>
43             <varlistentry>
44                 <term>ind</term>
45                 <listitem>
46                     <para>インデックスのベクトル</para>
47                 </listitem>
48             </varlistentry>
49             <varlistentry>
50                 <term>which</term>
51                 <listitem>
52                     <para>インデックスのベクトル</para>
53                 </listitem>
54             </varlistentry>
55             <varlistentry>
56                 <term>flag</term>
57                 <listitem>
58                     <para>文字列("r" の場合は正規表現)</para>
59                 </listitem>
60             </varlistentry>
61         </variablelist>
62     </refsection>
63     <refsection>
64         <title>説明</title>
65         <para>
66             <literal>strindex</literal> は,
67             <literal>haystack</literal>の中で<literal>needle(i)</literal>が
68             見つかった場所のインデックスを探します
69         </para>
70         <para>
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 に
80             一致されます.
81         </para>
82         <para>
83             正規表現式引数を指定しない<literal>strindex</literal>は
84             Knuth-Morris-Prattアルゴリズムに基づきます.
85         </para>
86         <para>このアルゴリズムは Scilab 4.x で使用されるものよりも
87             より強力です. いくつかの特殊なケースでは,結果が異なることがあります.
88         </para>
89         <para>例:</para>
90         <para>// scilab 5.x</para>
91         <para>--&gt;[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>--&gt;[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>
99             を参照ください.
100             リファレンスについては, <ulink url="http://perldoc.perl.org/perlre.html">http://perldoc.perl.org/perlre.html</ulink>
101             を参照してください
102         </para>
103     </refsection>
104     <refsection>
105         <title>例</title>
106         <programlisting role="example"><![CDATA[ 
107 k=strindex('SCI/demos/scicos','/')
108 k=strindex('SCI/demos/scicos','SCI/')
109 k=strindex('SCI/demos/scicos','!')
110 k=strindex('aaaaa','aa') 
111 k=strindex('SCI/demos/scicos',['SCI','sci'])
112 [k,w]=strindex('1+3*abc/2.33',['+','-','*','/'])
113 k=strindex('2' ,'/2(]*)?$\1/' ,'r') 
114  ]]></programlisting>
115     </refsection>
116     <refsection role="see also">
117         <title>参照</title>
118         <simplelist type="inline">
119             <member>
120                 <link linkend="string">string</link>
121             </member>
122             <member>
123                 <link linkend="strings">strings</link>
124             </member>
125             <member>
126                 <link linkend="regexp">regexp</link>
127             </member>
128             <member>
129                 <link linkend="strsubst">strsubst</link>
130             </member>
131         </simplelist>
132     </refsection>
133 </refentry>