【发布时间】:2012-01-20 16:27:58
【问题描述】:
我有一些 2k 文件要逐块比较,但这些块的标识不同。 将每个文件拆分为适当的块列表然后将每个块类型与相同的块类型进行比较的最佳方法是什么?
方块类型:
- HL*
- EB*
- SE*
- 通用电气*
- 国际能源署*
文件示例 - 我添加了空格以提高可读性,但文件没有空格。
useless-Text-useless-Text-~
useless-Text-useless-Text-useless-Text-~
HL*Block1'HL'text-Block1'HL'text-Block1'HL'text-Block1'HL'text-~
Block1'HL'text-Block1'HL'text-~
HL*Block2'HL'text-Block2'HL'text-~
Block2'HL'text-Block2'HL'text-~
HL*Block3'HL'text-Block3'HL'text-Block3'HL'text-~
Block3'HL'text-~
EB*Block1'EB'Text-Block1'EB'Text-Block1'EB'Text-~
Block1'EB'Text-Block1'EB'Text-~
Block1'EB'Text-Block1'EB'Text-~
EB*Block2'EB'Text-Block2'EB'Text-Block2'EB'Text-~
Block2'EB'Text-Block2'EB'Text-~
Block2'EB'Text-Block2'EB'Text-~
EB*Block3'EB'Text-Block3'EB'Text-Block3'EB'Text-~
Block3'EB'Text-Block3'EB'Text-~
Block3'EB'Text-Block3'EB'Text-~
EB*Block4'EB'Text-Block4'EB'Text-Block4'EB'Text-~
Block4'EB'Text-Block4'EB'Text-~
Block4'EB'Text-Block4'EB'Text-~
EB*Block_N'EB'Text-Block_N'EB'Text-Block_N'EB'Text-~
Block_N'EB'Text-Block_N'EB'Text-~
Block_N'EB'Text-Block_N'EB'Text-~
SE*Block1'SE'Text-Block1'SE'Text-~
Block1'SE'Text-~
GE*Block1'GE'Text-~
IEA*Block1'IEA'Text-~
【问题讨论】:
-
这不是有效格式的 EDI。您的段分隔符
~位于每个EB段的中间:Block1应该是段的名称吗? -
我认为
~是他的意思,没有空格。相反,他添加了这个符号以表明它连接到下一行,没有空格。 -
@Doomsknight:他应该澄清一下,因为我认为这不是一个安全的假设。
~是 EDI 中典型的段分隔符;如果不是这里的那个,那么他就没有使用一个,这也使得这无效。同样,*是他使用的典型元素分隔符;但他显然也使用'作为另一个元素分隔符——进一步增加了这段代码的奇异性质。 -
你的权利,他应该澄清。 :) 每个
Text-后面跟着Block似乎很奇怪,除了行尾。我可以理解他为什么这样做,但是在代码中添加语法可能会非常误导。 -
您真正想要提取哪些数据?