Ciao a tutti.
Ho il seguente problema:
dovrei 'normalizzare' un file di testo con una sola stringa in un file con N righe.
Il carattere di "a capo" è lo spazio.
Il problema è identificare gli spazi "corretti" dato che si potrebbe trovare anche all'interno di descrizioni.
Esempio:
Devo trasformare la seguente stringa
In questa
DXS*NEC0800000*VA*V0/6*1 ST*001*0001
ID1*NEC00800000*SAMBA TOP SOFT VEND****00800000
ID4*2
ID5*990518*042129
CB1***1.8
VA1*252*66*179*5
VA2*408*21*0*0
VA3*0*0*0*0
BA1*000000000000*125 EUROPE *0001
CA1*0968G801618 *CF7900MDB *0121
CA2*95*5*75*2
CA3*1220*100*120*1000*1240*100*140*1000*1000*1000
CA4*75*0*75*0
CA7*0*0
CA8*0*0
CA10*0*0
CA11*5*0*0**4*0
CA11*10*0*0**0*0
CA11*20*1*0**1*0
CA11*50*2*0**2*0
CA11*100*1*1**1*1
CA11*200*0*0**0*0
CA14*500*0*0*0*0
CA14*1000*1*1*1*1
CA15*775
CA17*1*5*13*0*0
CA17*2*10*11*0*0
CA17*3*20*10*0*0
CA17*4*50*8*0*0
CA17*5*100*0*0*0
CA17*6*200*0*0*0
DA1*000000000000*000000000038*0174
DA2*157*9*104*3
DA4*1070*1070
DA5*0*0*5*1*0**0
DA7*1*104***9*3*157
DA7*2*0***0*0*0
DA7*3*0***0*0*0
DA7*4*0***0*0*0
DA7*5*0***0*0*0
TA2*0*0*0*0
EA1*EAR*990510*045414
EA2*EAR****0
EA1*EAR*990510*050030
EA2*EAR****0
EA1*EOC*990511*052131
EA2*EOC****0
EA1*EAR*990513*012551
EA2*EAR****0
EA1*EAR*990513*015757
EA2*EAR****0
EA1*ECN*990513*020618
EA2*ECN****0
EA1*EAR*990513*020702
EA2*EAR****0
EA1*ECN*990513*022427
EA2*ECN****0
EA1*ECN*990513*023603
EA2*ECN****0
EA1*ECN*990513*023933
EA2*ECN****0
EA1*EAR*990513*024448
EA2*EAR****0
EA1*ECN*990513*030305
EA2*ECN****0
EA1*ECN*990513*030648
EA2*ECN****0
EA1*ECN*990515*230328
EA2*ECN****0
EA1*EAR*990515*230412
EA2*EAR****0
EA7*0*112
EA3*234*110309*1501*0000*000000*0000*0000
MA1**SINGLE
PA1*10*100* *20*20*1*1*20*5
PA2*0*0*0*0*1*5*0*0
PA3*0**0
PA4*0*0*0
PA5***0
PA1*11*35* *20*20*1*1*0*5
PA2*21*124*3*101*0*0*0*0
PA3*4**0
PA4*0*0*0
PA5*990513*022158*0
PA1*12*100* *20*20*1*1*20*5
PA2*0*0*0*0*0*0*0*0
PA3*0**0
PA4*0*0*0
PA5***0
PA1*13*40* *20*20*1*1*9*5
PA2*11*128*2*78*0*0*0*0
PA3*0**0
PA4*0*0*0
PA5***0
PA1*14*100* *20*20*1*1*20*5
Praticamente ogni riga formattata dovrebbe essere composta in questo modo:
Un identificatore di riga (DXS, ID1, ID4...etc), un numero variabile di campi separati dall'asterisco (*)
Il mio problema senza regex è identificare gli spazi 'veri' da quelli che delimitano le righe differenti.
Spero di essere stato chiaro..:)
Ciao
Franco
Assaggiata l'acqua, conosciuta la sorgente