Recherche de date dans string
Bonjour,
Je cherche un moyen d'extraire une date qui n'a pas une forme définie ni une place définie dans une chaîne string
par exemple 3 lignes ci-dessous
Citation:
16-08-2007PAS DE SYNCHRORemise en service massive 04-07-2007
20-05-2005 –essai mauvais - 25-07-2005 - pas de synchro
Blabla20/01/04 suite
Ici et encore 20/03/2008
La notation de la date est toujours française jour mois an
Je sais je vais me faire tirer dessus à bout portant, mais je ne comprends pas comment utiliser la bibliotheque date ou datetime notamment la fonction strptime
Si j’écris
Date_correcte=datetime.strptime(« 16-08-2007PAS DE SYNCHRORemise en service massive 04-07-2007 »,%d %- %m %- %Y)
Cela doit fonctionner ??
Strptime va me retourner un état valide s’il trouve une combinaison? L’objet se débrouille tout seul ?
Si a un moment j’ai un état valide j’aurai trouvé un format de date correct.
Je saurais ensuite comment enlever la chaîne de caractere représentant la date
:help::help::help:
expression régulière suite
bonjour,
j'ai commencé à regarder la réponse.
d'abord merci à tyrtamos pour ce précieux conseil.
je n'y sera pas arrivé tout seul c'est sur:yaisse2:
bon j'ai une précision à regarder
avant de programmer une fonction dédié sur le formatage des dates
Citation:
>>> import re
>>> Liste_date_valide=re.findall("\d{1,2}\d[-/]\d{1,2}\d[-/]\d{2,4}",ligne)
>>> print Liste_date_valide
['16-08-2007', '04-07-2007']
>>> ligne="16-08-2007PAS DE SYNCHRORemise en service massive 4-7-2007"
>>> Liste_date_valide=re.findall("\d{1,2}\d[-/]\d{1,2}\d[-/]\d{2,4}",ligne)
>>> print Liste_date_valide
['16-08-2007']
>>> ligne="16-08-2007PAS DE SYNCHRORemise en service massive 04-07-07"
>>> Liste_date_valide=re.findall("\d{1,2}\d[-/]\d{1,2}\d[-/]\d{2,4}",ligne)
>>> print Liste_date_valide
['16-08-2007', '04-07-07']
>>> ligne="16-08-2007PAS DE SYNCHRORemise en service massive 4-7-2007"
>>> ligne="16-08-2007PAS DE SYNCHRORemise en service massive 4-07-2007"
>>> Liste_date_valide=re.findall("\d{1,2}\d[-/]\d{1,2}\d[-/]\d{2,4}",ligne)
>>> print Liste_date_valide
['16-08-2007']
>>> ligne="16-08-2007PAS DE SYNCHRORemise en service massive 04-07-07"
>>> Liste_date_valide=re.findall("\d{1,2}\d[-/]\d{1,2}\d[-/]\d{2,4}",ligne)
>>> print Liste_date_valide
['16-08-2007', '04-07-07']
>>> ligne="16-08-2007PAS DE SYNCHRORemise en service massive 04-7-07"
>>> Liste_date_valide=re.findall("\d{1,2}\d[-/]\d{1,2}\d[-/]\d{2,4}",ligne)
>>> print Liste_date_valide
['16-08-2007']
regarder le résultat de mes essais
je voudrai étendre le champ de recherche mais j'ai une anomalie
exposé de ma question complémentaire
pourquoi une date du type 1-4-2007 n'est pas reconnu par les formats passés?:arf:
merci d'vance pour votre patience