我有一些2k文件要逐塊比較,但這些塊標識不同。 將每個文件拆分成適當的塊列表然後將每個塊類型與相同塊類型進行比較的最佳方法是什麼?使用多個分隔符將文本文件拆分爲數組
塊類型:
- HL *
- EB *
- SE *
- GE *
- IEA *
我添加空間的文件級的實施例更好的可讀性,但文件沒有空格。
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
@Doomsknight:他應該澄清,因爲我不認爲這是一個安全的假設。 '〜'是EDI中的典型分段分隔符;如果不是這裏的那個,那麼他不會使用一個,這也使得這個無效。同樣,'*'是典型的元素分隔符,他使用;但他也使用'''顯然是另一個元素分隔符 - 進一步增加了此代碼的奇異性。 –