LINQ und Zeichenfolgen (C#)LINQ and Strings (C#)

LINQ kann zum Abfragen und Transformieren von Zeichenfolgen und Auflistungen von Zeichenfolgen verwendet werden.LINQ can be used to query and transform strings and collections of strings. Dieses Verfahren ist bei halbstrukturierten Daten in Textdateien besonders nützlich.It can be especially useful with semi-structured data in text files. LINQ-Abfragen können mit herkömmlichen Zeichenfolgenfunktionen und regulären Ausdrücken verbunden werden.LINQ queries can be combined with traditional string functions and regular expressions. Beispielsweise können Sie die Methode Split oder Split verwenden, um ein Array von Zeichenfolgen zu erstellen, das Sie anschließend mit LINQ abfragen oder ändern können.For example, you can use the Split or Split method to create an array of strings that you can then query or modify by using LINQ. Sie können die Methode IsMatch in der where-Klausel einer LINQ-Abfrage verwenden.You can use the IsMatch method in the where clause of a LINQ query. Sie können LINQ außerdem zum Abfragen und Ändern der MatchCollection-Ergebnisse, die von einem regulären Ausdruck zurückgegeben werden, verwenden.And you can use LINQ to query or modify the MatchCollection results returned by a regular expression.

Sie können auch die Techniken verwenden, die in diesem Abschnitt beschrieben werden, um halbstrukturierte Textdaten in XML zu transformieren.You can also use the techniques described in this section to transform semi-structured text data to XML. Weitere Informationen finden Sie unter Vorgehensweise: Generieren von XML aus CSV-Dateien.For more information, see How to: Generate XML from CSV Files.

Die Beispiele in diesem Abschnitt gehören zu einer der folgenden beiden Kategorien:The examples in this section fall into two categories:

Abfragen eines TextblocksQuerying a Block of Text

Sie können Textblöcke abfragen, analysieren und ändern, indem Sie sie mithilfe der Split- oder der Split-Methode in ein abfragbares Array von kleineren Zeichenfolgen aufteilen.You can query, analyze, and modify text blocks by splitting them into a queryable array of smaller strings by using the Split method or the Split method. Sie können den Quelltext in Wörter, Sätze, Absätze, Paragraphen, Seiten oder andere Kriterien unterteilen und anschließend andere Unterteilungen ausführen, wenn sie in Ihrer Abfrage benötigt werden.You can split the source text into words, sentences, paragraphs, pages, or any other criteria, and then perform additional splits if they are required in your query.

Vorgehensweise: Zählen der Vorkommen eines Worts in einer Zeichenfolge (LINQ) (C#)How to: Count Occurrences of a Word in a String (LINQ) (C#)
Zeigt die Verwendung von LINQ für einfache Textabfragen.Shows how to use LINQ for simple querying over text.

Vorgehensweise: Abfragen von Sätzen, die bestimmte Wörter enthalten (LINQ) (C#)How to: Query for Sentences that Contain a Specified Set of Words (LINQ) (C#)
Zeigt, wie Textdateien an beliebigen Grenzen unterteilt wird und wie Abfragen mit jedem Teil ausgeführt werden.Shows how to split text files on arbitrary boundaries and how to perform queries against each part.

Vorgehensweise: Abfragen von Zeichen in einer Zeichenfolge (LINQ) (C#)How to: Query for Characters in a String (LINQ) (C#)
Veranschaulicht, dass eine Zeichenfolge ein abfragbarer Typ ist.Demonstrates that a string is a queryable type.

Vorgehensweise: Verbinden von LINQ-Abfragen mit regulären Ausdrücken (C#)How to: Combine LINQ Queries with Regular Expressions (C#)
Zeigt, wie reguläre Ausdrücke in LINQ-Abfragen für komplexe Musterabgleiche bei gefilterten Abfrageergebnissen verwendet werden.Shows how to use regular expressions in LINQ queries for complex pattern matching on filtered query results.

Abfragen halbstrukturierter Daten im TextformatQuerying Semi-Structured Data in Text Format

Viele verschiedene Typen von Textdateien bestehen aus einer Reihe von Zeilen, die häufig mit ähnlicher Formatierung, z.B. durch Tabstopps oder Kommas getrennten Dateien oder Zeilen mit fester Länge.Many different types of text files consist of a series of lines, often with similar formatting, such as tab- or comma-delimited files or fixed-length lines. Nachdem Sie solch eine Textdatei in den Arbeitsspeicher gelesen haben, können Sie LINQ zum Abfragen bzw. Ändern der Zeilen verwenden.After you read such a text file into memory, you can use LINQ to query and/or modify the lines. LINQ-Abfragen vereinfachen zudem die Aufgabe, Daten aus mehreren Quellen zu kombinieren.LINQ queries also simplify the task of combining data from multiple sources.

Vorgehensweise: Suchen der Unterschiedsmenge zwischen zwei Listen (LINQ) (C#)How to: Find the Set Difference Between Two Lists (LINQ) (C#)
Zeigt, wie alle Zeichenfolgen gesucht werden, die in einer Liste, aber nicht in der anderen, vorhanden sindShows how to find all the strings that are present in one list but not the other.

Vorgehensweise: Sortieren oder Filtern von Textdaten nach einem beliebigen Wort oder Feld (LINQ) (C#)How to: Sort or Filter Text Data by Any Word or Field (LINQ) (C#)
Zeigt, wie Textzeilen anhand eines beliebigen Worts oder Felds sortiert werden.Shows how to sort text lines based on any word or field.

Vorgehensweise: Neuordnen der Felder einer Datei mit Trennzeichen (LINQ) (C#)How to: Reorder the Fields of a Delimited File (LINQ) (C#)
Zeigt, wie Felder in einer Zeile in einer CSV-Datei neu angeordnet werdenShows how to reorder fields in a line in a .csv file.

Vorgehensweise: Verbinden und Vergleichen von Zeichenfolgenauflistungen (LINQ) (C#)How to: Combine and Compare String Collections (LINQ) (C#)
Zeigt, wie Zeichenfolgenlisten auf verschiedene Weise verbunden werdenShows how to combine string lists in various ways.

Vorgehensweise: Füllen von Objektauflistungen aus mehreren Quellen (LINQ) (C#)How to: Populate Object Collections from Multiple Sources (LINQ) (C#)
Zeigt, wie Auflistungen erstellt werden, indem Sie mehrere Textdateien als Datenquellen verwendenShows how to create object collections by using multiple text files as data sources.

Vorgehensweise: Verknüpfen des Inhalts unterschiedlicher Dateien (LINQ) (C#)How to: Join Content from Dissimilar Files (LINQ) (C#)
Zeigt, wie Zeichenfolgen in zwei Listen mit einem übereinstimmenden Schlüssel in einer einzigen Zeichenfolge vereint werdenShows how to combine strings in two lists into a single string by using a matching key.

Vorgehensweise: Teilen einer Datei in mehrere Dateien durch das Verwenden von Gruppen (LINQ) (C#)How to: Split a File Into Many Files by Using Groups (LINQ) (C#)
Veranschaulicht, wie neue Dateien mithilfe einer einzelnen Datei als Datenquelle erstellt werdenShows how to create new files by using a single file as a data source.

Vorgehensweise: Berechnen von Spaltenwerten in einer CSV-Textdatei (LINQ) (C#)How to: Compute Column Values in a CSV Text File (LINQ) (C#)
Zeigt, wie mathematische Berechnungen bei Textdaten in CSV-Dateien ausgeführt werdenShows how to perform mathematical computations on text data in .csv files.

Siehe auchSee Also

Language-Integrated Query (LINQ) (C#) (Language-Integrated Query (LINQ) (C#))Language-Integrated Query (LINQ) (C#)
Gewusst wie: Generieren von XML aus CSV-DateienHow to: Generate XML from CSV Files