【发布时间】:2017-04-03 21:13:21
【问题描述】:
我需要解析一个带分隔符的大型文本文件(超过 2800 万行),并使用 VB 2015 计算文本文件中特定文本片段的实例数。
线条的结构是这样的;
123|WD7|ELU|SOD|010116
456|WD9|LFT|AST|010116
135|WD7|TFT|THY|010116
154|AED|ELU|SOD|030116
等等等等……
我的确切要求是识别分隔字段 2 和分隔字段 4 中的每个条目,然后计算每个条目的实例数。
因此,从上面的行来看,字段 2 中的项目将是 WD7、WD9 和 AED,实例数将是 WD7 x 2、WD9 x 1 和 AED x 1。
同样,字段 4 中的项目将是 SOD、AST、THY 和 SOD,实例数将是 SOD x 2、THY x 1、AST x 1。
在解析文件之前不会知道字段 2 和字段 4 中的项目,实际上解析是为了识别这些字段中包含哪些文本以及包含多少次。
希望这很清楚,非常感谢您的任何指导。
史蒂夫
【问题讨论】:
-
您是有问题还是只是通过 Twitter 更新我们?
-
你自己有尝试过吗?
-
一个字段可以复制两个。制作字符串字典,int。逐行读取文件,用 | 分割每一行成一个数组。检查适当索引处的数组,然后检查该字符串的字典。如果不存在,则在字符串和 1 的字典中添加一个新条目。如果它已经存在,则增加字符串匹配的字典条目。或者拆分然后将适当索引处的所有字符串加载到数组中。然后使用 LINQ 按字符串分组,并对项目求和。
-
非常感谢,我应该说我现在是一个自学爱好者,我还没有尝试过完整的练习,因为我根本不知道怎么做。我已经进入了选择文件、逐行读取文件、按分隔符分割行的状态,但我根本不知道如何处理检查项目和计数项目组件。我会研究并尝试你的建议。这些是我绝对需要的指导提示,我非常感谢您的指导。
标签: vb.net file parsing text delimited