Freigeben über


LINQ und Zeichenfolgen

LINQ kann verwendet werden, um Zeichenfolgen und Auflistungen von Zeichenfolgen abzufragen und umzuwandeln. Es kann besonders bei halbstrukturierten Daten in Textdateien hilfreich sein. LINQ-Abfragen können mit herkömmlichen Zeichenfolgenfunktionen und regulären Ausdrücken kombiniert werden. So können Sie zum Beispiel die Split- oder Split-Methode verwenden, um ein Array von Zeichenfolgen zu erstellen, das Sie anschließend durch Benutzung von LINQ abfragen oder ändern können. Sie können die IsMatch-Methode in der where-Klausel einer LINQ-Abfrage verwenden. Außerdem können Sie LINQ verwenden, um die von einem regulären Ausdruck zurückgegebenen MatchCollection-Ergebnisse abzufragen oder zu ändern.

Sie können die in diesem Abschnitt beschriebenen Techniken auch verwenden, um halbstrukturierte Textdaten in XML umzuwandeln. Weitere Informationen finden Sie unter Vorgehensweise: Generieren von XML aus CSV-Dateien.

Die Beispiele in diesem Abschnitt lassen sich in zwei Kategorien unterteilen.

Abfragen eines Textblocks

Sie können Textblöcke abfragen, analysieren und ändern, indem Sie sie durch Anwendung der Split- oder der Split-Methode in ein abfragbares Array kleinerer Zeichenfolgen teilen. Sie können den Quelltext in Wörter, Sätze, Absätze, Seiten oder nach jeglichen anderen Kriterien unterteilen und anschließend zusätzliche Teilungen durchführen, falls diese in Ihrer Abfrage benötigt werden.

Abfragen halbstrukturierter Daten in Textformat

Viele verschiedene Typen von Textdateien bestehen aus einer Reihe von Zeilen, die häufig ähnlich formatiert sind, wie zum Beispiel durch Tabstopps oder Kommas getrennte Dateien oder Zeilen von fester Länge. Nachdem Sie solch eine Textdatei in den Arbeitsspeicher eingelesen haben, können Sie LINQ verwenden, um die Zeilen abzufragen und/oder zu ändern. LINQ-Abfragen vereinfachen zudem die Aufgabe, Daten aus mehreren Quellen zu kombinieren.

Siehe auch

Aufgaben

Vorgehensweise: Generieren von XML aus CSV-Dateien

Weitere Ressourcen

LINQ (Language-Integrated Query, sprachintegrierte Abfrage)