LINQ と文字列
更新 : 2007 年 11 月
LINQ を使用すると、文字列および文字列のコレクションの照会と変換を行うことができます。これは、テキスト ファイルの半構造化されたデータを扱う場合に特に便利です。LINQ クエリは、従来の文字列関数や正規表現と組み合わせることができます。たとえば、Split メソッドまたは Split メソッドを使用して文字列の配列を作成し、LINQ を使用してこれを照会または変更できます。LINQ クエリの where 句では、IsMatch メソッドを使用できます。また、LINQ を使用して、正規表現で返された MatchCollection の結果を照会または変更することもできます。
ここで説明する方法は、半構造化されたテキスト データを XML に変換するためにも使用できます。詳細については、「方法 : CSV ファイルから XML を生成する」を参照してください。
このセクションで示す例は、次の 2 つのカテゴリに分類されます。
テキストのブロックの照会
テキスト ブロックを照会、分析、および変更するには、Split メソッドまたは Split メソッドを使用して、テキスト ブロックを短い文字列から成るクエリ可能な配列に分割します。ソース テキストを単語、文、段落、ページ、またはその他の基準で分割できます。クエリのニーズに応じて、さらに細かく分割することもできます。
方法 : 文字列での単語の出現回数をカウントする (LINQ)
LINQ を使用して、テキストに対して単純な照会を行う方法を示します。方法 : 指定された単語のセットを含む文章を照会する (LINQ)
任意の境界でテキスト ファイルを分割し、分割後の各部分に対してクエリを実行する方法について説明します。方法 : 文字列内の文字を照会する (LINQ)
文字列がクエリ可能型であることを示します。方法 : LINQ クエリと正規表現を組み合わせる
LINQ クエリで正規表現を使用して、フィルタ処理されたクエリ結果に対して複雑なパターン一致を行う方法について説明します。
テキスト形式の半構造化されたデータの照会
テキスト ファイルにはさまざまな種類がありますが、それらの多くは一連の行で構成され、タブ区切りやコンマ区切りのファイル、固定長の行など、類似した書式がよく使用されます。このようなテキスト ファイルをメモリに読み込んだ後で、LINQ を使用して行を照会したり変更したりできます。LINQ クエリを使用すると、複数のソースのデータを結合するのも簡単です。
方法 : 2 つのリストの差集合を見つける (LINQ)
1 つのリストだけに含まれるすべての文字列を検索する方法について説明します。方法 : 任意の単語またはフィールドを基準にテキスト データを並べ替える、またはフィルタ処理をする (LINQ)
任意の語またはフィールドに基づいてテキストの行を並べ替える方法を示します。方法 : 区切り記号入りファイルのフィールドの順序を変更する (LINQ)
.csv ファイルの行内のフィールドを並べ替える方法を示します。方法 : 文字列コレクションを結合および比較する (LINQ)
さまざまな方法で文字列のリストを結合する方法を示します。方法 : 複数のソースからオブジェクト コレクションにデータを設定する
複数のテキスト ファイルをデータ ソースとして使用して、オブジェクト コレクションを作成する方法を示します。方法 : 異種ファイルのコンテンツを結合する (LINQ)
一致するキーを使用して、2 つのリストを結合して 1 つの文字列にする方法を示します。方法 : グループを使用して 1 つのファイルを複数のファイルに分割する (LINQ)
1 つのファイルをデータ ソースとして使用して、新しい複数のファイルを作成する方法を示します。方法 : CSV テキスト ファイルの列値の計算 (LINQ)
.csv ファイル内のテキスト データに対して数値演算処理を実行する方法を示します。