LINQ и строки (Visual Basic)

LINQ можно использовать для запроса и преобразования строк и коллекций строк. При этом лучше всего его потенциал раскрывается при работе с частично структурированными данными в текстовых файлах. Запросы LINQ можно комбинировать с традиционными строковыми функциями и регулярными выражениями. Например, используя метод Split или Split, можно создать массив строк, который затем можно запрашивать или изменять с помощью LINQ. Метод IsMatch можно использовать в предложении where запроса LINQ. Также LINQ можно использовать для запроса или изменения результатов MatchCollection, возвращаемых регулярным выражением.

Методы, описанные в этом разделе, позволяют преобразовать частично структурированные текстовые данные в XML. Дополнительные сведения см. в разделе Практическое руководство. Создание кода XML из CSV-файлов.

Примеры в этом разделе делятся на две категории:

Запрос блока текста

Вы можете запрашивать, анализировать и изменять блоки текста, разбивая их на запрашиваемый массив строк меньшего размера с помощью методов Split или Split. Исходный текст можно разбить на слова, предложения, абзацы, страницы или другие фрагменты, а затем применить другие способы фрагментации, необходимые для вашего запроса.

Практическое руководство. Подсчет вхождения слова в строке (LINQ) (Visual Basic)
Показывает, как использовать LINQ для простых запросов текста.

Практическое руководство. Запрос предложений, содержащих указанный набор слов (LINQ) (Visual Basic)

Показывает, как разбивать текстовые файлы на произвольные фрагменты и выполнять запросы к каждой части.

Практическое руководство. Запрос символов в строке (LINQ) (Visual Basic)
Показывает, что строка является запрашиваемым типом.

Объединение запросов LINQ с регулярными выражениями (Visual Basic)
Показывает, как выполнять сопоставление комплексных шаблонов с отфильтрованными результатами запросов, используя регулярные выражения в запросах LINQ.

Запрос частично структурированных данных в текстовом формате

Многие типы текстовых файлов состоят из серии строк, которые часто имеют одинаковый формат, например, из файлов с разделителями табуляцией или запятыми либо из строк фиксированной длины. После того как текстовый файл будет считан в память, можно использовать LINQ для запроса и (или) изменения строк. Кроме того, запросы LINQ упрощают задачу объединения данных из различных источников.

Практическое руководство. Поиск различия между двумя списками (LINQ) (Visual Basic)
Показывает, как найти все строки, которые есть в одном списке, но отсутствуют в другом.

Практическое руководство. Сортировка или фильтрация текстовых данных по любому слову или полю (LINQ) (Visual Basic)
Показывает, как сортировать текстовые строки по какому-либо слову или полю.

Практическое руководство. Изменение порядка полей файла с разделителями (LINQ) (Visual Basic)
Показывает, как изменить порядок полей в строке CSV-файла.

Практическое руководство. Объединение и сравнение коллекций строк (LINQ) (Visual Basic)
Показывает различные способы объединения списков строк.

Практическое руководство. Заполнение коллекций объектов из нескольких источников (LINQ) (Visual Basic)
Показывает, как создавать коллекции объектов, используя в качестве источников данных сразу несколько текстовых файлов.

Практическое руководство. Присоединение содержимого из разнородных файлов (LINQ) (Visual Basic)
Показывает, как объединить строки из двух списков в одну строку, используя ключ сопоставления.

Практическое руководство. Разделение файла на множество файлов с помощью групп (LINQ) (Visual Basic)
Показывает, как создавать файлы, используя в качестве источника данных одиночный файл.

Практическое руководство. Вычисление значений столбцов в текстовом файле CSV (LINQ) (Visual Basic)
Показывает, как выполнять математические расчеты на основе текстовых данных в CSV-файлах.

См. также