パソコン・情報公開# 長文の文字列から特定の文字列を抽出してその前後の文字列だけを取り出してデータに,というのをRubyでやってみる

:CATEGORIES: Ruby

irb(main):020:0' 雑でいいならテキストファイルにしてから正規表現で検索かけるのが簡単だと思いますが,単語としてちゃんと取り出したいなら形態素解析する必要があると思います
irb(main):021:0' > @uwaaaa 雑でいいならテキストファイルabcdefgにしてから正規表現で検索かけるのが簡単だと思いますが,単語としてちゃんと取り出したいなら形態素解析する必要
があると思います 
irb(main):022:0> EOF
irb(main):023:0> n=str.index("正規表現")
irb(main):024:0> str[n-10..n-1]
=> "トファイルにしてから"
irb(main):025:0> n=str.index("正規表現", n+1)
irb(main):026:0> str[n-10..n-1]
=> "cdefgにしてから"

 前後の行を含めて取得する方が実際的という気がしますが,長文を改行区切りで配列に入れ,検索にマッチした配列要素の前後をインデックス指定で取得すればいいような気がします。全文検索であればインデックスの最大値までの再帰処理になるかと思います。

##