Partager via


LINQ et chaînes

LINQ peut être utilisé pour interroger et transformer des chaînes et des collections de chaînes. Ils peuvent être particulièrement utiles avec les données semi-structurées dans les fichiers texte. Les requêtes LINQ peuvent être combinées avec les fonctions de chaîne traditionnelles et les expressions régulières. Par exemple, vous pouvez utiliser la méthode Split ou Split pour créer un tableau de chaînes que vous pouvez ensuite interroger ou modifier en utilisant LINQ. Vous pouvez utiliser la méthode IsMatch dans la clause where d'une requête LINQ. Vous pouvez également utiliser LINQ pour interroger ou modifier les résultats MatchCollection retournés par une expression régulière.

Vous pouvez par ailleurs utiliser les techniques décrites de cette section pour transformer des données de texte semi-structurées en XML. Pour plus d'informations, consultez Procédure : générer du code XML à partir de fichiers CSV.

Les exemples de cette section peuvent être regroupés dans deux catégories :

Interrogation d'un bloc de texte

Vous pouvez interroger, analyser et modifier des blocs de texte en les fractionnant en un tableau requêtable de plus petites chaînes à l'aide de la méthode Split ou Split. Vous pouvez fractionner le texte source en mots, phrases, paragraphes ou pages ou en fonction de n'importe quel autre critère, puis effectuer des fractionnements supplémentaires s'ils sont requis dans votre requête.

Interrogation de données semi-structurées au format texte

De nombreux types de fichiers texte différents se composent d'une série de lignes, généralement avec une mise en forme semblable, telle que des lignes de longueur fixe ou des fichiers délimités par des tabulations ou des virgules. Après avoir lu un tel fichier texte dans la mémoire, vous pouvez utiliser LINQ pour interroger et/ou modifier les lignes. Les requêtes LINQ simplifient également la combinaison des données de plusieurs sources.

Voir aussi

Tâches

Procédure : générer du code XML à partir de fichiers CSV

Autres ressources

LINQ (Language-Integrated Query)