Vérifier python format de chaîne de caractères?
J'ai un tas de chaînes de caractères, mais je veux seulement garder ceux avec ce format:
x/x/xxxx xx:xx
Quelle est la façon la plus simple pour vérifier si une chaîne répond à ce format? (En supposant que je veux vérifier si elle a 2 /s'et un ':' )
La façon la plus simple est de le convertir en un datetime et de capture de l'erreur, lorsqu'elle échoue. C'est un datetime droit?
OriginalL'auteur user1487000 | 2013-02-19
Vous devez vous connecter pour publier un commentaire.
essayer avec une expression régulière:
vous pouvez modifier l'expression pour correspondre à vos besoins
'xxxxx/xxxxx/x 124453:24345'
également les matches. Utilisation:././.{4} .{2}:.{2}
, en supposant que c'est n'importe quel caractère. S'il faut les chiffres:\d/\d/\d{4} \d{2}:\d{2}
droit, mais le post original dit: en Supposant que je veux vérifier si elle a 2 /s'et un ':'. L'exemple ressemble à un format de date, mais est-il une date?
Il a également donné un format qu'il voulait garder avant, qui ressemble exactement à un format datetime - je suppose que c'était nécessaire pour être exact, pour que le format personnellement.
OriginalL'auteur kofemann
Si vous utilisez des expressions régulières avec match, vous devez également tenir compte de la fin est trop long. Sans tester la longueur de ce code, il est possible de glisser à tout non-caractère de saut de ligne à la fin. Voici le code modifié à partir d'autres réponses.
OriginalL'auteur Octipi
Utilisation temps.strptime à analyser à partir de la chaîne de temps struct. Si la chaîne ne correspond pas au format il soulève
ValueError
.OriginalL'auteur Ulas Keles