我有一堆字符串,但我只想保留这种格式的字符串:
x / x / xxxx xx:xx
检查字符串是否符合此格式的最简单方法是什么? (假设我想检查它是否有2 /'和':')
答案 0 :(得分:16)
尝试使用正则表达式:
import re
r = re.compile('.*/.*/.*:.*')
if r.match('x/x/xxxx xx:xx') is not None:
print 'matches'
您可以调整表达式以满足您的需求
答案 1 :(得分:5)
使用time.strptime从字符串解析为时间结构。如果字符串与格式不匹配,则会引发ValueError
。
答案 2 :(得分:5)
如果您使用匹配的正则表达式,您还必须考虑结尾太长。如果不在此代码中测试长度,则可以在结尾处滑动任何非换行符。这是从其他答案修改的代码。
import re
r = re.compile('././.{4} .{2}:.{2}')
s = 'x/x/xxxx xx:xx'
if len(s) == 14:
if r.match(s):
print 'matches'