Page 1 sur 1

Supprimer une Ligne avec des contraintes

Posté : lun. 24 oct. 2016 16:52
par Snake690
Bonjour à tous !

Je suis confronté a une problématique.

Je souhaite supprimer des ligne d'un fichier texte avec certaines contraintes mais je ne m'en sort pas.

Voici une partie du fichier d'origine :

378;;0;.781459500002;0,00;0,00;0;;1;EXO;;
3781486500006;;0;.781486500006;0,00;0,00;0;;1;EXO;;
4024800173104;;0;.ELI0;0,00;24,00;1;TA;1;EXO;;
3258170733014;;0;.INTERG;0,00;7,40;1;TA;1;EXO;;
8720;;0;.LUCG;0,00;12,30;1;TA;1;EXO;;
5411808067877;;0;.ORG;0,00;7,40;1;TA;1;EXO;;
3258170699419;;0;.WING;0,00;8,60;1;TA;1;EXO;;

Et voici le rendu que j'aimerai obtenir :

3781486500006;;0;.781486500006;0,00;0,00;0;;1;EXO;;
4024800173104;;0;.ELI0;0,00;24,00;1;TA;1;EXO;;
3258170733014;;0;.INTERG;0,00;7,40;1;TA;1;EXO;;
5411808067877;;0;.ORG;0,00;7,40;1;TA;1;EXO;;
3258170699419;;0;.WING;0,00;8,60;1;TA;1;EXO;;

Il faudrait supprimer les lignes qui ont moins de 5 caractères mais seulement les caractères qui sont avant le premier point virgule.

Sachant que mon fichier peut avoir plus de 1000 Lignes.

Je ne sais pas si je me suis bien fait comprendre lol mais bon j'ai essayé pas mal de chose mais en tant que novice sa devient trop compliqué ...

Si vous avez une idée afin de résoudre mon problème je vous en serais extrêmement reconnaissant ;)

Re: Supprimer une Ligne avec des contraintes

Posté : lun. 24 oct. 2016 17:57
par Tlem
Bonjour.

Je pense que quelqu'un vous fournira une version à base de RegExp avant demain. En attendant voici une version basique à base de Stringxxxx :
$FileIn = "fileIn.txt"
$FileOut = "fileOut.txt"
If FileExists($FileOut) Then FileDelete($FileOut)

$hFileOpen = FileOpen($FileIn, 0)
If $hFileOpen = -1 Then
   MsgBox(16, "", "Fichier non trouvé")
   Exit
EndIf


While 1
   $sLine = FileReadLine($hFileOpen)
   If @error Then ExitLoop
   ; Test les 5 premiers caractères. Si on trouve un ";", on zappe la ligne, sinon on l'écrit à la suite dans le fichier de sortie.
   If Not StringInStr(StringLeft($sLine, 5), ";") Then FileWrite($FileOut, $sLine & @CRLF)
WEnd

Re: Supprimer une Ligne avec des contraintes

Posté : lun. 24 oct. 2016 20:24
par jguinch
Mikell t'a répondu sur le forum US...
Pas la peine de poster partout

Re: Supprimer une Ligne avec des contraintes

Posté : lun. 24 oct. 2016 20:27
par Tlem
Ha zut, j'avais pas regardé sur le forum US.

Envoyé de mon appareil mobile avec Tapatalk

Re: Supprimer une Ligne avec des contraintes

Posté : jeu. 27 oct. 2016 17:58
par mikell
... sinon tu lui aurais mis un vent :mrgreen:

Et moi aussi si j'avais été au courant du double post... :roll:

Re: Supprimer une Ligne avec des contraintes

Posté : ven. 28 oct. 2016 09:37
par jguinch
C'est vrai que j'aurais pu le faire. :wink:
Au départ j'avais répondu (avec un truc comme toi). J'ai simplement supprimé ma réponse quand j'ai vu ta réponse (c'est léger, j'admets :? )

Snake690 : le multi-posting n'est pas très apprécié (autant ici qu'ailleurs). Donc merci d'attendre 24 heures avant de relancer ou poster ailleurs.