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

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

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

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

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

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

Практическое руководство. Подсчет вхождения Word в строке (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-файлах.

См. также