特集:正規表現によるテキストファイルパースVisual Studio Magazine(1/8 ページ)

アプリ開発時における文字列扱いにはセンスが問われる。.NETにおける効率的なテキスト扱いのひとつ正規表現の技法。この特集では、開発時に役立つ具体例を挙げ、すぐにでも採り入れることが可能なテクニックを解説している。

» 2004年12月07日 14時05分 公開
[Francesco Balena, Marco Bellinaso,FTPOnline]

 Visual Studio Magazine誌は、米国で同種のVS専門誌ナンバーワンの発行部数を誇る。ITmediaでは、発行元FTP Onlineから翻訳権を取得。米国発でホットな話題をピックアップし、月に2つの特集を定期掲載している。

理解に前提となるテクノロジー:VB.NET、C#、ASP.NET

 書籍そして雑誌の記者でありながら、Webサイトの設立者であるすばらしいことのひとつが、何千もの開発者とやり取りができる点だ。Eメールを受け取らない時でさえ、われわれのサイトのどの記事がもっとも見られているかが分かる(後述、コラム「2TheMaxファミリーサイト」参照)。

 おどろくことに、多くの開発者が些細な問題解決に多くの時間を費やしている。これは、「プログラマーは、繰り返されるあらゆる問題の20%を解決するために、80%の時間を費やす」という有名な「80/20ルール」の別形態だ。新しくなった「.NET 2 the Max column」では、これらの広く知られる繰り返し起こる問題の解決策を示すことで、より優れたアプリケーションを手早く開発できることを助けられることを願っている。――Francesco Balena


コラム■2TheMaxファミリーサイト
最初は、「VB2TheMax」と呼ばれるサイトで、VB6とそれに関連するCOMやSQL Serverのテクノロジーをカバーするものだった。
しかし、.NET Frameworkの到来で、もはやVBに制限できないと考えた。そこでわれわれは、中カッコ(「{」「}」)の愛好者のための「C#2TheMax」と、すべての.NET開発者のための「.NET2TheMax」サイトを立ち上げた。
異なるサイト名だが、これらのサイトでは、好きな開発言語をカスタマイズでき、同様の内容を提供する。フリーの「News2TheMaxニュースレター」を購読して、「Whidbey Watcherコラム」を読むことで、来る.NETの姿について学んでほしい。

テキストファイルから固定長のフィールドをパースする

 XMLは、データ交換において標準テクノロジーとなった。しかし多くのアプリケーションは、未だに原始的な「インポート」と「エクスポート」という方法を採用している。インポートやエクスポートのひとつが、「固定長フィールド」で構成されるテキストファイルに基づくものだ。

 次のテキスト行を見てほしい。

John Smith New York
Ann Doe Los Angeles

 テキスト行それぞれは、「名(6文字)」「姓(8文字)、そして「都市」を含んでいる。

 大都市は、11文字で構成される。しかし、最後のフィールドは、その行末までのすべての文字をとるだろうと考えるのが一般的だ。

 個々のフィールドを読むプログラムを構築することは、難しくない。アプリケーションでは、単純に1行読み込んで、String.Substringメソッドを使って個々のフィールドを抽出するだけだ。

 しかしここでは、正規表現に基づいた異なるアプローチで例証していきたい。

 次の正規表現を考えてほしい。

       1|2|3|4|5|6|7|8 次のページへ

© Copyright 2001-2005 Fawcette Technical Publications

注目のテーマ