Salut tout le monde,
Je dois programmer une extraction de donnée à partir de fichiers textes qui seront mis en place sur un serveur
Un extrait du fichier brut :
Au final je veux obtenir ces information (celles en rouge) :
GLOUBIBOULGA |ORLANE - HARMONY |F|1986/03/11|0117467281 |0860995P|0860054S|450|1|33104|E|
Je me suis donc fendu d'une expression rationnelle pour faire le boulot, que voici :
L'expression marche nickel sauf dans 1 cas celui où le nom de la personne ne fait que 2 lettres (comme dans la 3e ligne de mon exemple).
J'ai fait un peut le tours de ce que je savais en expression rationnelles et là, je sèche. Donc si parmi l'aimable assistance, il y a qq'un qui est un champion de ce genre de chose, je lui serait très reconnaissant de son aide !
Par avance merci.
Je dois programmer une extraction de donnée à partir de fichiers textes qui seront mis en place sur un serveur
Un extrait du fichier brut :
Bloc de code:
GLOUBIBOULGA |JEAN - FRANCOIS |F|1986/03/11|0117467281 |0860995P|0860054S|450|1|33104|E|
TARTARIN |SOPHIE - HELENE |F|1987/07/31|0117467282 |0860995P|0860054S|450|1|33104|D|
FY |SEBASTIEN |F|1986/08/17|0117467283 |0860995P|0860054S|450|1|33104|E|
Au final je veux obtenir ces information (celles en rouge) :
GLOUBIBOULGA |ORLANE - HARMONY |F|1986/03/11|0117467281 |0860995P|0860054S|450|1|33104|E|
Je me suis donc fendu d'une expression rationnelle pour faire le boulot, que voici :
Bloc de code:
([A-Z]*[\s-]?[A-Z]+[\s-]*[A-Z]+[\s-]*[A-Z]+)\s*\x7C([A-Z]+[\s-]*[A-Z]+[\s-]*[A-Z]+[\s-]*[A-Z]+)\s*\x7C.\x7C[0-9]{4}/[0-9]{2}/[0-9]{2}\s*\x7C([M0-9]{10})\s*\x7C[A-Z0-9]{8}\x7C[A-Z0-9]{8}\x7C[0-9]{3}\x7C[1-9]{1}\x7C[0-9A-Z]{5}\x7C([A-Z]{1})\x7C
L'expression marche nickel sauf dans 1 cas celui où le nom de la personne ne fait que 2 lettres (comme dans la 3e ligne de mon exemple).
J'ai fait un peut le tours de ce que je savais en expression rationnelles et là, je sèche. Donc si parmi l'aimable assistance, il y a qq'un qui est un champion de ce genre de chose, je lui serait très reconnaissant de son aide !
Par avance merci.