RSS RSS
akami
2009.10.20
カテゴリ:

auのメールの絵文字を取り出す

こんにちは、sasimiです。

今回は、auのメールの絵文字を扱うプログラムを作成するためにJISコードの文字列を分けるメソッドを作成してみました。
JISコードのエスケープシーケンスは
日本語と文字コード
文字コード表 JISコード(ISO-2022-JP) を参照してください。

絵文字はどうやら漢字に切り替えられるところから始まるようです。
ならば、と漢字に切り替えてから他のエスケープシーケンスに切り替えているところまでを絵文字として取りだすようにします。

def emoji_parse_html(string)
    array = Array.new
    while (string)
      if string =~ /(.+?)\c[\$B([\s\S]+?)\c[(\(B|\(J|\$@|\$B)([\s\S]+)/
        array << $1
        array << "#{[0x1b].pack("c")}\$B#{$2}#{[0x1b].pack("c")}#{$3}" # ここが絵文字のところ(絵文字が含まれてるところ)
        string = $4
      else
        array << string
        string = nil
      end
    end
    array
end

文字列を、絵文字の前、絵文字、絵文字の後、に分けてます(正確には絵文字と漢字の文字列)。
これをstringがnilになるまで繰り返すことで、絵文字と漢字が現れるごとに配列にとりだすメソッドになります。
正規表現を極めている方にはもっとキレイに書けると思います。
挑戦してみてください。

このように配列にして分解することで、あとは絵文字の部分だけを抜き出し、絵文字をUnicodeに変換するような作業が簡単になります。

ブックマークに追加する

.
web開発ならKBMJ
Rubyでのwebシステム開発は
実績豊富なKBMJにお任せ下さい
iPhone開発
iPhone開発は
KBMJにお任せ下さい
ブラウザゲーム エインヘリアル
ブラウザゲーム「エインへリアル」
αテスター募集中
オープンソースECパッケージ エレコマ
オープンソースECパッケージ
「エレコマ」

プロフィール

sasimi
sasimi

最近チェックした記事

最新記事

アーカイブ

アクセスランキング

KBMJのWebソリューション
Ruby on railsの開発ならKBMJ
株式会社ケイビーエムジェイ