• ベストアンサー

HTMLファイルからcharsetの文字列だけを抜き出すにはどうすれば

HTMLファイルからcharsetの文字列だけを抜き出すにはどうすれば良いのでしょうか? 本文がHTMLで構成されているメールからcharset=文字コード(Shift_JIS、UTF-8など)の 文字コード部分を抜き出したいのですがどうすれば良いでしょうか? もちろんcharset自体が存在しない場合もあるため、ないときの処理も書かなくては ならないです。(存在しない時にはメールヘッダからの文字コードを渡します) 環境はVista Home Premium、Visual Studio2005(Std)上のC#です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

私は.Netなのですが まずHTMLファイルあからタグの配列を作り {<>,</>,<>,<>} 各値に対して正規表現を使用して抜き出しています HTMLファイルの中に複数文字コードがありそれぞれを取得したい場合です 前提としてひとつしか文字コードがない場合は配列にする必要はありません C#の正規表現はここにあります http://www.atmarkit.co.jp/fdotnet/dotnettips/585regexreplace/regexreplace.html http://dobon.net/vb/dotnet/string/regexmatch.html 正規表現はここをいつも参考にしています http://hodade.adam.ne.jp/seiki/page.php?s_htmltag .Netですが正規表現の使い方です クラスは同じなのでおそらく同じ使い方で問題ないと思います http://blog.goo.ne.jp/nsl_net/e/b1b212f571a7a009dbedd7c1b9f147b3 .Net C# には RegexOptions がついています この設定の仕方で文字列が取れたり取れなかったりするので 色々設定を変えてみてください

mizuki_sak
質問者

お礼

とりあえず正規表現のマッチングを使ってやりたかったcharsetの取得か出来ました。 回答ありがとうございました。

mizuki_sak
質問者

補足

こっちのほうかなぁ…と思いました。 http://www.atmarkit.co.jp/fdotnet/dotnettips/579regexmatch/regexmatch.html ちなみにこの下の部分でタグ抜き作業(@ITの記事参考)をしているので 正規表現は一応使ってはいるのですが…。

その他の回答 (1)

回答No.2

追伸です charsetの部分を取り出す正規表現のサンプルが CodeZineにあります 参照URLの4ページ目のMailクラスの使用例のサンプルソースが参考になると思います ZIPのなかにC#のソースがあると思いますので参考にしてみてください

参考URL:
http://codezine.jp/article/detail/477

関連するQ&A