从大文本中解析数字,可能没有正则表达式(性能至关重要)

时间:2011-09-12 00:00:12

标签: c# parsing text-processing

在您开始回答以下变体之前,我对regex非常熟悉:/ d +

我想知道是否有正则表达式的替代方法可以解析大文本文件中的数字。

我正在解析大量文件,需要对关键字的位置进行一些组/位置分析。我现在正处于需要开始寻找数字组的位置,并且与我感兴趣的内容紧密相关。我想尽可能避免使用正则表达式,因为这需要一个快速的过程。

可以取一个文件块来检查感兴趣的数量。然而,这将需要更多的工作并添加硬编码的搜索限制。 (我想避免这种情况)

我愿意接受任何建议。

更新

很抱歉缺少样本数据。对于HIPAA的原因,我甚至不考虑加扰文本并发布它。

一个很好的替代品是任何stackoverflow.com问题页面的HTML源代码。想象一下,我需要获得发布问题答案的所有人的声誉(得分)。这也意味着还需要逗号(,)。我无法删除html来简化内容,因为我正在使用一些密度分析来清除不相关的内容。删除HTML会将内容混合在一起。

1 个答案:

答案 0 :(得分:1)

除非文件是某种SGML,否则我不知道任何方法(不是说没有,我只是不知道一个)

但是,并不是说你不能创建自己的解析器;您可以通过编写仅查找数字范围的内容来消除.Net正则表达式库的一些开销。

从根本上说,我猜这就是所有图书馆都会做的,最基本的。

如果您可以发布您要处理的数据样本,可能会有帮助吗?