我前段时间编写了一个文件路由实用程序(.NET)来检查文件的位置和名称模式,并根据匹配将其移动到其他预先配置的位置。相当简单,直截了当的东西。我通过一系列可以分配给文件“route”的正则表达式搜索和替换动作,包括添加标题行,用管道替换逗号,这样的事情来包含可能的小转换。元正则表达式?
因此,现在我有一个新的文本提要,它由一个文件头,一个批头和批量下的许多详细记录组成。文件头包含文件中所有详细记录的计数,并且我被要求在分配的转换中“分割”文件,本质上为每批记录生成一个文件。这也是相当简单的,但踢球者希望更新每个文件的文件头以反映细节计数。
我甚至不知道这是否可以用纯正则表达式。我可以计算给定文本文档中组的匹配数量,并替换原始文本中的计数值,还是必须为此文件编写自定义转换器?
如果我必须写另一个变压器,是否有如何使其通用性足以可重复使用的建议?我正在考虑添加一个XSLT转换器选项,但我对XSLT的理解并不太好。
我被要求举个例子。说我有一个文件,像这样:
FILE001DETAILCOUNT002
BATCH01
DETAIL001FOO
BATCH02
DETAIL001BAR
这个文件将被分割并存储在两个位置。该文件将是这样的:
FILE001DETAILCOUNT001
BATCH01
DETAIL001FOO
和
FILE001DETAILCOUNT001
BATCH01
DETAIL001BAR
所以我的贴纸是文件头的DETAILCOUNT值。
认真吗?没有接受者? –
你可以添加一些清晰的例子。 “我想把'这'变成'那个'”。我认为'Regex.Replace'的'MatchEvaluator'重载可能有帮助,但我不确定我是否理解你的问题。 –
在任何情况下,如果您的输入不是XML,请远离XSLT。 – driis