2013-04-08 :-(
_ [N-gram][ruby][UTF-8]N-gram の先頭文字が漢字のものだけを選択する
※ ただし UTF-8 に限る
def ngram(gram = 2, text) ngrams ||= [] len = text.length - 1 0.upto(len) {|i| if i + gram > text.length return ngrams end t = text[i, gram] if t[0] =~ /\p{Han}/ ngrams << t end } return ngrams end def main(argv) gram = 3 text = <<-EOS いいか、忘れんな。 おまえを信じろ。 おれが信じるおまえでもない。 おまえが信じる俺でもない。 おまえが信じる、おまえを信じろ!" EOS puts ngram(gram, text) end main(ARGV)
% ruby -Ku ngram1.rb 忘れん 信じろ 信じる 信じる 俺でも 信じる 信じろ