我有一个来自银行的文件,结构非常特殊.如果有帐号(25),帐户余额开始(60F),帐户余额停止(62F)和交易(交易为61,此交易详情为86).
:20:STARTSUM
:25:/PL2321109943011
:28C:0330/001
:60F:C100PLN38,74
:62F:C103PLN38,74
-
:20:STARTSUM
:25:/PL24160011982002123456001
:28C:0403/001
:60F:C030403PLN36000,00
:61:0304030403CN100,00S723NONREF//CENT30403H000200
:86:723>00PRZELEW OTRZYMANY ELIXIR>20Fakt VAT 1 nr 00911/03
:86:723>3010501445>3125-00001201467436
:86:723>32Firma XXXXXXXXXX?>33Krakow
:61: 0304030403DN1000,00S223NONREF//CENT30403H002342
:86:223>00PRZEL KRAJ MULTICASH>20000004020 20021224 Fa. 0095
:86:223>21007203-FIRMA SP. Z O>308510101010>311234567890123456
:86:223>32FRIMA XXXXXXXXXX UL. GNI>33EZNIENSKA 1
:86:223>3885101010101234567890123456
:86:223>6085101010101234567890123456
:61:0304030403CN100,00S723NONREF//CENT30403H000230
:86:723>00PRZELEW OTRZYMANY ELIXIR>20Fakt VAT 1 nr 00911/03
:86:723>308510101010>311234567890123456
:86:723>32Firma XXXXXXXXXX?>33Krakow
:86:223>3885101010101234567890123456
:86:223>6085101010101234567890123456
:62F:C030403PLN35200,00
-
:20:STARTSUM
:25:/PL2321109944011
:28C:0330/001
:60F:C120330PLN43,45
:62F:C120330PLN43,45
-
:20:STARTSUM
:25:/PL1109945011
:28C:0330/001
:60F:C1230PLN3,50
:62F:C1230PLN3,50
-
Run Code Online (Sandbox Code Playgroud)
它在每个块之间总是有2行断点.我想将这些块放入我创建的对象中.
string[] test = File.ReadAllLines(file);
foreach (var s in test) {
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能以正确的方式接近它?通常情况下,我会foreach
逐行扫描并尝试将空块拆分为2行,然后通过执行多个if/else语句进一步划分.但也许有简单/更好的方法呢?
string[] blocks = (file.ReadAllText(file)).split(new string[] {"\n\n\n"}, StringSplitOptions.None)
Run Code Online (Sandbox Code Playgroud)
应该把它分成块给你.
归档时间: |
|
查看次数: |
671 次 |
最近记录: |