带格式的字符串比较 - Python

2 投票
2 回答
1643 浏览
提问于 2025-04-16 05:27

我想检查用户输入的内容是否按照特定的顺序输入。简单来说,我希望用户以这样的格式输入日期:

%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。

撰写回答