Supprimer une Ligne avec des contraintes

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Snake690
Niveau 1
Niveau 1
Messages : 1
Enregistré le : lun. 24 oct. 2016 16:42
Status : Hors ligne

Supprimer une Ligne avec des contraintes

#1

Message 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 ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Supprimer une Ligne avec des contraintes

#2

Message 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
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Supprimer une Ligne avec des contraintes

#3

Message par jguinch »

Mikell t'a répondu sur le forum US...
Pas la peine de poster partout
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Supprimer une Ligne avec des contraintes

#4

Message par Tlem »

Ha zut, j'avais pas regardé sur le forum US.

Envoyé de mon appareil mobile avec Tapatalk
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Supprimer une Ligne avec des contraintes

#5

Message par mikell »

... sinon tu lui aurais mis un vent :mrgreen:

Et moi aussi si j'avais été au courant du double post... :roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Supprimer une Ligne avec des contraintes

#6

Message 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.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre