我想从字符串格式的python日期中删除填充的零:
formatted_date = my_date.strftime("%m/%d/%Y") # outputs something like: 01/01/2013
date_out = formatted_date.replace(r'/0', r'/').replace(r'^0', r'')
第二个替换不起作用 - 我得到01/1/2013。如果它位于字符串开头的旁边,我该如何匹配零呢?
答案 0 :(得分:12)
.replace()
不采用正则表达式。您正尝试替换文字文本^0
。
使用str.format()
创建一个不带零填充的日期格式:
'{0.month}/{0.day}/{0.year}'.format(my_date)
并且避免必须替换零。
演示:
>>> import datetime
>>> today = datetime.date.today()
>>> '{0.month}/{0.day}/{0.year}'.format(today)
'9/10/2013'
如果使用glibc
库编译Python,那么您也可以使用格式的短划线来抑制填充:
my_date.strftime('%-m/%-d/%y')
但这并不是那么便携。