调整字符串中文格式

作者: SmallRookie | 来源:发表于2017-08-04 00:52 被阅读12次
实际案例

某软件的log文件,其中的日期格式为'yyyy-mm-dd':
  ......
  2016-05-23 10:59:26 ......
  2016-05-23 10:59:26 ......
  2016-05-23 10:59:26 ......
  2016-05-23 10:59:26 ......
  ......
我们想把其中的日期改为国外日期的格式'mm/dd/yyyy',即'2016-05-23'=>'05/23/2016',应如何处理?

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

# -*- coding: utf-8 -*-

import re

f = open('log.txt').read()

print re.sub('(\d{4})-(\d{2})-(\d{2})', r'\2/\3/\1', f)

其运行结果如下:

05/23/2016 10:59:26 ......                   
05/23/2016 10:59:26 ......            
05/23/2016 10:59:26 ......                   
05/23/2016 10:59:26 ......       
05/23/2016 10:59:26 ......                   
05/23/2016 10:59:26 ......              
05/23/2016 10:59:26 ......

其中log.txt文件的内容如下:

2016-05-23 10:59:26 ......                   
2016-05-23 10:59:26 ......            
2016-05-23 10:59:26 ......                   
2016-05-23 10:59:26 ......       
2016-05-23 10:59:26 ......                   
2016-05-23 10:59:26 ......              
2016-05-23 10:59:26 ......                       

在代码中,我们根据每个捕获组进行编号,然后按照编号调整捕获组内字符串的格式。除此之外,我们还能对每个捕获组进行命名,然后按照名字调整捕获组内的字符串的格式,其代码如下:

print re.sub('(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})', r'\g<month>/\g<day>/\g<year>', f)

其输出结果为:

05/23/2016 10:59:26 ......                   
05/23/2016 10:59:26 ......            
05/23/2016 10:59:26 ......                   
05/23/2016 10:59:26 ......       
05/23/2016 10:59:26 ......                   
05/23/2016 10:59:26 ......              
05/23/2016 10:59:26 ......

相关文章

  • 调整字符串中文格式

    实际案例 某软件的log文件,其中的日期格式为'yyyy-mm-dd':......2016-05-23 10:5...

  • Python超详细的字符串用法大全

    本文要点 字符串拼接 拆分含有多种分隔符的字符串 判读字符串a是否以字符串b开头或结尾 调整字符串中文本的格式 对...

  • 超详细的字符串用法大全

    本文要点 字符串拼接 拆分含有多种分隔符的字符串 判读字符串a是否以字符串b开头或结尾 调整字符串中文本的格式 对...

  • 字符串处理案例进阶训练

    课纲如下: 如何拆分含有多种分隔符的字符串 如何判断字符串a是否以字符串b开头或结尾 如何调整字符串中文本的格式 ...

  • Python 进阶(下)

    1、如何调整字符串中文本的格式? 2、如何将多个小字符串拼接成一个大字符串? 3、如何对字符串进行左、右、居中对齐...

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

    解决方案 利用re.sub替换 re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的r...

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

    实际案例: 某软件的log文件,其中的日期格式为'yyyy-mm-dd'.......2016-05-23 10:...

  • Oracle带有中文的日期转换

    Oracle无法识别中文格式,所以添加双引号。 后面的格式是指字符串在转换前的格式,而不是指转换后的格式。

  • CString Format(_T("%s")出错

    unicode环境下,CString Format格式化ansi字符串要用 %S,支持中文

  • Python爬虫常用工具(更新中)

    字符串仅保留英文、中文、数字、中文符号、英文符号: 将秒切换为时间格式: 时间戳切换为时间: 对比两个字符串的相似...

网友评论

  • Leon_Geo:能否给出用shell处理的方法?
    SmallRookie:前面两个参数根据需求自行修改,shell下和在IDLE下差不多啊
    SmallRookie:re.sub('(\d{4})-(\d{2})-(\d{2})', r'\2/\3/\1', open('xxx').read())

本文标题:调整字符串中文格式

本文链接:https://www.haomeiwen.com/subject/yyrulxtx.html