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に正規表現文字列を指定できます.
この場合, grepはneedle
を正規表現として使用し,正規表現の規則に基づいて
haystackとこの文字列を比較します.
正規表現に関する詳細については関数regexp
を参照ください.
例 #1
以下の例では,txt変数に保存されている
テキスト中で,1つまたは2つの文字列を探します.
例 #2
以下の例では, 正規表現検索を行ないます.
参照
strindex
regexp