【发布时间】:2011-09-22 16:44:43
【问题描述】:
需要一些想法来解决这个问题。 我有一个模板文件,它描述了文本文件中的行。例如:
模板
[%f1%]|[%f2%]|[%f3%]"[%f4%]"[%f5%]"[%f6%]
文本文件
1234|1234567|123"12345"12"123456
现在我需要从文本文件中读取字段。在模板文件中的字段用[%some name%] 描述。同样在模板文件中设置了字段分隔符,在这个例子中这里有|和"。字段的长度可以通过不同的文件更改,但分隔符将保持不变。在模板中读取和在文本文件中读取模板的最佳方法是什么?
编辑:文本文件有多行,如下所示:
1234|1234567|123"12345"12"123456"\r\n
1234|field|123"12345"12"asdasd"\r\n
123sd|1234567|123"asdsadf"12"123456"\r\n
45gg|somedata|123"12345"12"somefield"\r\n
EDIT2:好的,让它变得更难。有些字段可以包含二进制数据,我知道二进制数据字段的开始和结束位置。我应该能够在模板中标记这些字段,然后解析器就会知道这个字段是二进制的。如何解决这个问题?
【问题讨论】:
-
字段值是否仅为十进制数字?
-
@HalfTrackMindMan:不,字段值可以是任何东西,有时甚至是二进制。