我有一大堆的字符串,但我只是想保留那些具有這種格式:檢查python字符串格式?
X/X/XXXX XX:XX
什麼是檢查一個字符串是否符合此格式的最簡單的方法是什麼? (假設我想檢查是否有2和':')
我有一大堆的字符串,但我只是想保留那些具有這種格式:檢查python字符串格式?
X/X/XXXX XX:XX
什麼是檢查一個字符串是否符合此格式的最簡單的方法是什麼? (假設我想檢查是否有2和':')
嘗試用正規表示法:如果您使用正則表達式匹配,你還必須考慮最終過長
import re
r = re.compile('.*/.*/.*:.*')
if r.match('x/x/xxxx xx:xx') is not None:
print 'matches'
你可以調整表達式匹配您的需求
事情就像''xxxxx/xxxxx/x 124453:24345''一樣。使用:'././.{4}。{2}:。{2}',假設它是任何字符。如果它必須是數字:'\ d/\ d/\ d {4} \ d {2}:\ d {2}' – TyrantWave 2013-02-19 20:35:08
沒錯,但原始文章說:假設我想檢查它是否有2 /'和':'。這個例子看起來像日期格式,但它是一個日期嗎? – kofemann 2013-02-19 20:36:25
他也給出了他之前想要保留的格式,它看起來完全像日期時間格式 - 我認爲它需要與個人格式完全相同。 – TyrantWave 2013-02-19 20:37:41
使用time.strptime從字符串到時間結構解析。如果字符串與格式不匹配,則會引發ValueError
。
。如果不在此代碼中測試長度,可以在最後輸入任何非換行符。這裏是從其他答案修改的代碼。
import re
r = re.compile('././.{4} .{2}:.{2}')
s = 'x/x/xxxx xx:xx'
if len(s) == 14:
if r.match(s):
print 'matches'
最簡單的方法是將其轉換爲日期時間並在失敗時捕獲錯誤。這是一個日期時間嗎? – Ben 2013-02-19 20:22:35