2014年11月27日木曜日

rubyで日本語文の抽出

 Twitterのつぶやきを収集することはできましたが、現実には日本語以外の文は必要ありません。

 そこで、rubyを使って日本語の文だけを取り出します。
 日本発信の文でも日本人の書いた文でもなく、日本語で書かれた文を抽出するのです。

 ここでは、「ひらがな」と「カタカナ」の含まれている文だけを抽出する方法を紹介します。

 rubyの「=~」メソッドによるマッチングの戻り値を利用して、ひらがなまたはカタカナを含んでいるかどうかを判定します。
  • マッチング成功 → マッチングした文字の位置を返す
  • マッチング失敗 → nil を返す


■サンプルコード
while line = gets
 pos_h = ( line =~ /\p{Hiragana}/) # ひらがなの位置(なければnil)
 pos_k = ( line =~ /\p{Katakana}/) # カタカナの位置(なければnil)

 if pos_h || pos_k then
  puts line
 end
end

■参考ページ


2014/11/28 typoを修正