LINQ 可用于查询和转换字符串和字符串集合。 它对于文本文件中的半结构化数据尤其有用。 LINQ 查询可以与传统的字符串函数和正则表达式结合使用。 例如,可以使用 Split 或 Split 方法创建字符串数组,然后可以使用 LINQ 进行查询或修改。 可以在 LINQ 查询的IsMatch子句中使用where
方法。 可以使用 LINQ 查询或修改 MatchCollection 正则表达式返回的结果。
还可以使用本节中所述的技术将半结构化文本数据转换为 XML。 有关详细信息,请参阅 如何:从 CSV 文件生成 XML。
本节中的示例分为两类:
查询文本区块
可以通过使用 Split 该方法或 Split 方法将文本块拆分为较小的字符串的可查询数组来查询、分析和修改文本块。 可以将源文本拆分为字词、句子、段落、页面或任何其他条件,然后在查询中根据需要执行其他拆分。
如何:计算字符串中单词的发生次数(LINQ)(Visual Basic)
演示如何使用 LINQ 对文本进行简单查询。
如何:查询包含指定单词集的句子(LINQ)(Visual Basic)
演示如何在任意边界上拆分文本文件,以及如何对每个部分执行查询。
如何:查询字符串中的字符(LINQ)(Visual Basic)
演示字符串是可查询类型。
如何将 LINQ 查询与正则表达式合并(Visual Basic)
演示如何在 LINQ 查询中使用正则表达式,以便对筛选的查询结果进行复杂的模式匹配。
以文本格式查询 Semi-Structured 数据
许多不同类型的文本文件由一系列行组成,通常采用类似的格式,例如制表符或逗号分隔的文件或固定长度的行。 将此类文本文件读入内存后,可以使用 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 文件中的文本数据执行数学计算。