博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中用string.maketrans和translate巧妙替换字符串
阅读量:6702 次
发布时间:2019-06-25

本文共 1503 字,大约阅读时间需要 5 分钟。

  python中用string.maketrans和translate巧妙替换字符串

   将nginx日志中字符串 [2013-07-03T00:29:40-05:00] HTTP  格式化为:"2013-07-03 00:29:40-05:00"

   整条日志如下:

92.82.22.46 - - [2013-07-03T00:29:40-05:00] "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"

   将[2013-07-03T00:29:40-05:00] 替换成为:"2013-07-03 00:29:40-05:00"

   把[]换成"",然后把T替换成空格

做法如下:

1
2
3
4
5
6
7
8
9
10
>>> s
=
'''92.82.22.46 - - [2013-07-03T00:29:40-05:00] "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"'''
>>> table 
= 
string.maketrans(
'[]'
,
'""'
)
>>> s.translate(table)
'92.82.22.46 - - "2013-07-03T00:29:40-05:00" "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"'
>>> s.translate(table).replace(
'T'
' '
,
1
)
#替换掉第一个T为空格
'92.82.22.46 - - "2013-07-03 00:29:40-05:00" "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"'
也可以这样:
>>> table 
= 
re.sub(
'\[|\]'
,
'"'
,s).replace(
'T'
' '
,
1
)
>>>
print 
table
'92.82.22.46 - - "2013-07-03 00:29:40-05:00" "GET /images/mask_bg.png HTTP/1.1" 200 195 "http://www.chlinux.net/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)" "-"'
本文转自 lover00751CTO博客,原文链接:http://blog.51cto.com/wangwei007/1242206,如需转载请自行联系原作者
你可能感兴趣的文章
Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static...
查看>>
数据存储和界面展示(二)
查看>>
修改 cmd 字体为 Consolas
查看>>
Linux中断 - tasklet
查看>>
Java第一章java语言的概述
查看>>
一道C#类型转换的思考题
查看>>
Linux运维工程师面试-部分题库
查看>>
Camera Calibration 相机标定:原理简介(三)
查看>>
Linux的proc文件系统详解
查看>>
Kubernetes集群(概念篇)
查看>>
Java动态代理和cglib动态代理
查看>>
POJ3274Gold Balanced Lineup(哈希)
查看>>
hdu - 3415 Max Sum of Max-K-sub-sequence
查看>>
JadClipse eclipse反编译插件
查看>>
struts2中文件上传
查看>>
男性早孕-从软件与程序的区别说起
查看>>
Windows 恢复环境(Windows RE模式)
查看>>
基于Annotation的输入校验
查看>>
Kinect for windows开发准备
查看>>
SQL Server 2012 官方培训课程体系
查看>>