1

我正在研究从文本文件中解析数据的各种选项。我们收到来自不同客户的发票,格式未预定义。基本上,我们收到具有不同列的表类型结构,如下所示,并且需要从文件中提取数据。

现在,我们有一个带有 Parse 方法的 IExtractor 接口,该方法由每个客户端解析器实现,并根据文件实例化适当的类,并且对逻辑进行硬编码以检索数据。

由于客户数量不断增加,我们正在寻找更健壮且易于编码的方法来从文本文件中提取信息。

是否建议使用正则表达式来识别页眉和页脚,并使用另一个表达式从每一行中提取信息。如果有人能提出更好的选择,我将不胜感激。

<addition text>.....
    Date          Document            Invoice               Deductions     Paid Amount
    --------------------------------------------------------------------------------------------
    21.03.2014    9289                9280                  0.00                        48,000.00
    10.01.2013    21389               9402                  3.00                        4,000.00
    21.03.2014    9289                9280                  0.00                        48,000.00
    10.01.2013    21389               9402                  3.00                        4,000.00

    Sum Total
    Please ....<text>
4

1 回答 1

0

如果你有太多的代码解决方案 - 即你提到的 IExtractor .Parse - 那么我会选择嵌入式脚本语言

然后,您可以为每个客户端编写一个脚本。

我会使用 Javascript 作为语言(它内置了正则表达式支持)。我会使用 codeplex 的 jint 项目

于 2014-09-22T17:18:46.143 回答