【问题标题】:String Comparison with a Format - Python字符串与格式的比较 - Python
【发布时间】:2010-10-13 23:57:20
【问题描述】:

我想检查用户是否按特定顺序输入了输入。基本上我希望用户以这样的格式输入日期

%d/%m/%y %H:%M

有什么方法可以比较python中的字符串输入和上述格式吗?

【问题讨论】:

    标签: python string comparison


    【解决方案1】:
    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。

    【讨论】:

    • 我想你的方法也行得通。 sigh 事实上,对于这个特定的目的,它可能比我的更好。
    • 谢谢格伦,非常感谢。
    【解决方案2】:

    这听起来像是……正则表达式的工作!看看re module。你想要的很简单,只需将正则表达式交给你就相当简单了,但你应该学会自己使用它们。

    好的,对于这项工作,strptime 的答案更好。但是对于确保字符串与格式匹配的一般情况,正则表达式通常是要走的路。

    【讨论】:

    • 是的,有效日期的正则表达式会非常糟糕,并且取决于您想要允许的格式。 strptime 更灵活,代码更少(就我们而言)
    猜你喜欢
    • 1970-01-01
    • 2021-11-10
    • 2018-01-16
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    相关资源
    最近更新 更多