Question [Résolu] Regex - Problème de saut de ligne

Plus d'informations
il y a 11 ans 3 mois #18536 par Laurent Dardenne
lucas057 écrit:

Excuse moi mais je ne voulais pas afficher sur la toile mon fichier \"datas\" qui correspond à des infos de facturation..

Je comprends tout à fait, il est préférable de donner cette info dés le début, c'est plus mieux.
lucas057 écrit:

aucune lignes n'est identiques (parfois + de 20 000 lignes par fichier), et les 8 caractères à remplacer correspondent à une date : 20140109 et 20140116
donc je ne peut rien mettre en \"dur\".

Je n'ai pas compris.

Les lignes différentes influent sur la recherche, mais pas sur le traitement. D'après tes exemples, on suppose que les 20 premiers caractères ne sont que des chiffres est-ce tjr le cas ?
La numérotation est-elle tjr sur 20 caractères ?
Il faut être certains de la construction de chaque ligne pour définir le bon pattern( évidence qu'il est bon de rappeler).

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 3 mois #18537 par lucas
[code:1]
1258963254452400165020140109 09012014 3138390
14896524756555000579 10012014 3183194
2165651511651400290520140116 16012014 3183194
14589748522336587758 13012014 3133032
2165651511651400290520140116 16012014 3183194
2165651511651400290520140111 16012014 3183194
2145875151165140290520140102 16012014 3183194
2158654875851400290520140114 16012014 3183194
21471511651400290ff520140117 16012014 3183194
14589744778555147758 13012014 3133032
14589725345536587758 13012014 3133032
[/code:1]

Oui, les 20 premiers caractères sont toujours des chiffres.
il faut simplement remplacer les \"dates\" (8 caractère numériques) soulignées ci dessus par 8 espaces.

Les lignes 2,4 et les deux dernières sont déjà au bon format.

Apres traitement pour cet exemple ci dessus cela doit ressembler à cela:
[code:1]
12589632544524001650 09012014 3138390
14896524756555000579 10012014 3183194
21656515116514002905 16012014 3183194
14589748522336587758 13012014 3133032
21656515116514002905 16012014 3183194
21656515116514002905 16012014 3183194
21458751511651402905 16012014 3183194
21586548758514002905 16012014 3183194
21471511651400290ff5 16012014 3183194
14589744778555147758 13012014 3133032
14589725345536587758 13012014 3133032
[/code:1]

Avant j'utilisé Notepad++ et je faisais une Edition en mode colonne + remplacement des dates par des espaces.
Sauf que cette technique a une limite lorsqu'il y a trop de lignes cela ne fonctionne plus correctement.<br><br>Message édité par: lucas057, à: 5/12/14 13:42

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 3 mois #18538 par Laurent Dardenne
Dans ce cas remplace la ligne -Replace par celle -ci:
[code:1]
$s=$_ -replace '^(\d{20})\d{8}','$1 '
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 3 mois #18539 par lucas
Ca fonctionne à merveille !!
Merci pour votre aide :laugh:

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.045 secondes
Propulsé par Kunena