Bonjour,
Je suis actuellement sur un projet ColdFusion, J'ai à traiter un gros fichier mensuel lignes par lignes (50k lignes environ).
J'ai donc mis en place une boucle avec un getToken :
<cfloop list="#fichier#" delimiters='#chr(13)##chr(10)#' index="ligne">
<cfset NumAppel = #GetToken('#ligne#',1,';')#>
<cfset NumPoste = #GetToken('#ligne#',2,';')#>
<cfset Compte = #GetToken('#ligne#',3,';')#>
[....]
</cfloop>
Or dans mon fichier, il arrive rarement d'avoir un numéro de poste. Donc dans le fichier c'est ainsi :
0126351649;0123;00123456789
0125361447;;00123456789;
[....]
or : "ColdFusion ignore les séparateurs entre les éléments de la liste à partir du second
lorsqu'ils se suivent." cf: Manuel de référence CFML.
Le problème est que le getToken prend cela pour une double ; qui se suit, donc il shunte le champs vide. Ainsi je me retrouve souvent avec mon numéro de compte dans ma variable NumPoste.
J'ai cherché un peu partout et en restant sur du coldfusion, je n'ai rien trouvé.
Donc voila ma question: est-il possible de ne pas shunter le champs vide ? Voir de créer un bout de code qui cherche dans le fichier (;;) et le modifie (;*;) ?
Merci pour l'aide que vous pourrez (ou non) m'apporter.
