LINQ と文字列 (Visual Basic)

文字列やそのコレクションは、LINQ を使って照会したり変換したりすることができます。 特に、テキスト ファイル内の半構造化されたデータでその利便性が発揮されます。 LINQ クエリは、従来の文字列関数や正規表現と組み合わせることができます。 たとえば、Split または Split メソッドを使用して、文字列の配列を作成し、その後で LINQ を使用してクエリを実行したり変更したりすることができます。 LINQ クエリの where 句で IsMatch メソッドを使用できます。 LINQ を使用して、正規表現によって返される MatchCollection の結果に対してクエリを実行したり変更したりすることができます。

このセクションで説明する手法を使えば、半構造化されたテキスト データを XML に変換することもできます。 詳細については、CSV ファイルから XML を生成する (C#)」を参照してください。

このセクションの例は、次の 2 つのカテゴリに分かれています。

テキスト ブロックの照会

Split メソッドまたは Split メソッドを使用して、テキスト ブロックをクエリ可能な小さな文字列の配列に分割することによって、テキスト ブロックのクエリ、分析、および変更を実行できます。 単語や文、段落、ページなどの単位にソース テキストを分割できるほか、クエリ内で必要であれば、さらに細かく分割することもできます。

方法: 文字列での単語の出現回数をカウントする (LINQ) (Visual Basic)
テキストに対する単純なクエリを LINQ で行う方法が紹介されています。

方法: 指定された単語のセットを含む文章を照会する (LINQ) (Visual Basic)

区切りを指定してテキスト ファイルを分割する方法やその各構成要素に対してクエリを実行する方法が紹介されています。

方法: 文字列内の文字を照会する (LINQ) (Visual Basic)
文字列がクエリ可能型であることを実証します。

LINQ クエリと正規表現を組み合わせる方法 (Visual Basic)
LINQ クエリで正規表現を使い、フィルター処理されたクエリ結果に対して複雑なパターン マッチを行う方法が紹介されています。

半構造化されたテキスト形式データのクエリ

テキスト ファイルにはさまざまな種類がありますが、タブ区切りファイルやコンマ区切りファイル、固定長行など同様の形式を持った一連の行で構成されていることは少なくありません。 そのようなテキスト ファイルをメモリに読み込んだ後、LINQ を使って、必要な行を照会したり編集したりすることができます。 複数ソースからのデータを組み合わせる作業も LINQ クエリなら簡単に行うことができます。

方法: 2 つのリストの差集合を見つける (LINQ) (Visual Basic)
ある特定のリストには存在しているものの、それ以外には存在しない文字列をすべて探す方法が紹介されています。

方法: 任意の単語またはフィールドを基準にテキスト データの並べ替えまたはフィルター処理を実行する (LINQ) (Visual Basic)
単語やフィールドに基づいてテキスト行を並べ替える方法が紹介されています。

方法: 区切りファイルのフィールドの順序を変更する (LINQ) (Visual Basic)
.csv ファイルの行に含まれるフィールドを並べ替える方法が紹介されています。

方法: 文字列コレクションを結合および比較する (LINQ) (Visual Basic)
文字列リストをさまざまな方法で結合する方法が紹介されています。

方法: 複数のソースからオブジェクトコレクションにデータを設定する (LINQ) (Visual Basic)
複数のテキスト ファイルをデータ ソースとしてオブジェクトのコレクションを作成する方法が紹介されています。

方法: 異種ファイルのコンテンツを結合する (LINQ) (Visual Basic)
2 つのリストに含まれる文字列を、一致するキーを使って 1 つの文字列に結合する方法が紹介されています。

方法: グループを使用してファイルを複数のファイルに分割する (LINQ) (Visual Basic)
1 つのファイルをデータ ソースとして新しいファイルを作成する方法が紹介されています。

方法: CSV テキスト ファイルの列値を計算する (LINQ) (Visual Basic)
.csv ファイルでテキスト データに対して数学的計算を実行する方法が紹介されています。

関連項目