如何调整字符串的文本格式?

时间:2020-07-11 17:32:07   收藏:0   阅读:45

需求:
某软件的Log文件,其中的日期格式为‘yyyy-mm-dd‘:
.....
2016-05-23 10:59:26 status upacked python3-pip.all
2016-05-23 10:59:26 status half-configured python3-all
2016-05-23 10:59:26 status installed python3-pip.all
2016-05-23 10:59:26 configure python3-wheel:all 0.24.0-1
.....
我们想把其中日期格式改为美国日期的格式’mm/dd/yyyy‘
‘2016-05-23 => 05/23/2016‘,应如何处理?

思路:
使用正则表达式re.sub()方法做字符串替换,利用正则表达式的捕获组,捕获每个部分内容,在替换字符串中调整各个捕获组的顺序。

代码:
py文件:

mport re

f = open(‘shizhan\dpdk.log‘)

log = f.read()

# 利用正则表达式的捕获组进行替换。
ret = re.sub(‘(\d{4})-(\d{2})-(\d{2})‘,r‘\3/\2/\1‘,log)


#完成写入
open(‘shizhan\dpdk.log‘,‘a‘).write(‘\n‘+ret)

open(‘shizhan\dpdk.log‘,‘a‘).close()

print(ret)

# 下面给捕获组取名,更直观一点也是可以的。
# ret2 = re.sub(‘(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})‘,r‘\g<day>/\g<month>/\g<year>‘,log)

# print(ret2)

dpdk.log:

2016-05-23 10:59:26 status upacked python3-pip.all
2016-05-23 10:59:26 status half-configured python3-all
2016-05-23 10:59:26 status installed python3-pip.all
2016-05-23 10:59:26 configure python3-wheel:all 0.24.0-1
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!