你如何解析列数据?

时间:2010-03-19 17:15:10

标签: vb.net regex parsing

我正在尝试解析由LGA Tracon生成的文件,该文件列出了给定时间范围内飞机的位置数据。感兴趣的数据以跟踪数据开始,以SST结束,每个文件有数千个条目。生成文件Common GRTS的系统格式非常严格,我们可以期望列间距保持一致。任何帮助将不胜感激。

谢谢,

这是一张保留确切格式的图片 alt text http://www.schedulebook.com/Temp/N90.gif

这是一个简化的文本文件。

link text

2 个答案:

答案 0 :(得分:2)

有很多方法可以解决这个问题,但像FileHelpers这样的免费图书馆已经解决了这个问题。他们甚至已经有一个Quick Start for Fixed Length files的VB代码。

如果您无法使用外部库,则可以从内置的.NET TextFieldParser开始。与使用FileHelpers相比,你需要做更多的工作,但它能很好地处理固定宽度的部分。

答案 1 :(得分:1)

如果您选择忽略jball对FileHelpers的建议(看起来很棒),我建议逐行阅读该文件,直到您找到以TRACKING DATA开头的行

然后将接下来的11行拉入数组并开始使用.instr( )

进行操作

可能发现此解决方案比使用其他库更快,因为您手工构建的代码将直接针对手头的问题进行定制。没有使用FileHelpers我不知道它的速度开销。

我之前编写了很多文件解析(有趣的是基于旅行的文本文件)并且发现它非常快/高效