grep 文字列のベクトルの中で指定した文字列に一致するかどうかを調べる 呼び出し手順 row=grep(haystack,needle ) [row,which]=grep(haystack,needle ) row=grep(haystack,needle ,[flag]) [row,which]=grep(haystack,needle ,[flag]) 引数 haystack 文字列の行ベクトル. needle 文字列または文字列の行ベクトル. haystackの中で文字列を探します. row インデックスのベクトル: 一致するものが見つかった行, または一致するものが見つからなかった場合は空の行列. which インデックスのベクトル: 見つかったneedle文字列のインデックスまたは 一致するものがなかった場合は空の行列. flag 文字 (正規表現の場合は"r") 説明 haystackの各エントリについて, grepは少なくとも needleの中の一つの文字列が 部分文字列に一致するかどうかを探します. 最低でも一致するものが一つある haystackのエントリのインデックスが 出力引数rowに返されます. オプションの出力引数whichは, needleの最初に見つかった文字列のインデックスを 指定します. 3番目のパラメータにflag="r" を指定した場合, needleに正規表現文字列を指定できます. この場合, grepneedle を正規表現として使用し,正規表現の規則に基づいて haystackとこの文字列を比較します. 正規表現に関する詳細については関数regexp を参照ください. 例 #1 以下の例では,txt変数に保存されている テキスト中で,1つまたは2つの文字列を探します. 例 #2 以下の例では, 正規表現検索を行ないます. 参照 strindex regexp