我正在研究从文本文件中解析数据的各种选项。我们收到来自不同客户的发票,并且未预定义格式。基本上我们接收具有不同列的表类型结构,如下所示,并且需要从文件中提取数据。
现在,我们正在使用一个带有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>
答案 0 :(得分:0)
如果您有太多的代码解决方案 - 即您提到的IExtractor .Parse - 那么我会选择嵌入式脚本语言
然后,您可以为每个客户端编写脚本。
我会使用Javascript作为语言(它内置了正则表达式支持)。我会使用codeplex中的jint项目