【问题标题】:Count Number of instances of text in a text file - VB计数文本文件中文本实例的数量 - VB
【发布时间】: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


【解决方案1】:

试试这个:

Dim textfile As String = "C:/test/test.txt"
Dim stream_reader As New StreamReader(textfil_file)
Dim line As String
line = stream_reader.ReadLine()
Do While Not (line Is Nothing)
        Dim parts As String() = line.Split("|")
        For Each part In parts
            'display them in msgboxes or do whatever you like with them

            MsgBox(part(1))
            MsgBox(part(3))
        Next
    line = stream_reader.ReadLine()
Loop
stream_reader.Close()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多