带格式的字符串比较 - Python
我想检查用户输入的内容是否按照特定的顺序输入。简单来说,我希望用户以这样的格式输入日期:
%d/%m/%y %H:%M
有没有什么方法可以在Python中将字符串输入与上面的格式进行比较呢?
2 个回答
2
这听起来像是需要用到……正则表达式的工作!你可以看看这个re
模块。你想要的事情其实很简单,直接给你一个正则表达式就能解决,但我建议你还是自己学会怎么用。
不过,对于这个具体的任务,strptime
这个方法更合适。但如果你想确保一个字符串符合某种格式,通常来说,正则表达式是最好的选择。
8
import time
time.strptime("01/01/09 12:23", "%d/%m/%y %H:%M")
如果字符串不匹配,这会引发一个值错误(ValueError):
time.strptime("01/01/09 12:234", "%d/%m/%y %H:%M")
time.strptime("01-01-09 12:23", "%d/%m/%y %H:%M")
顺便说一下,请不要使用两位数的年份——如果可能的话,尽量使用 %Y。