python-13-如何调整字符串中文本的格式?sub函数

来源:互联网 发布:c语言的冒泡排序算法 编辑:程序博客网 时间:2024/05/17 21:49

sub是substitute的所写,表示替换;
re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的replace更加强大的替换功能;
re.sub共有五个参数。
其中三个必选参数:pattern(模式字符串), repl(被替换), string(表示要被处理,要被替换的那个string字符串)
两个可选参数:count, flags

这里写图片描述

  1. 使用正则表达式在文件中找到所有的日期
  2. 替换
    这里写图片描述

这里写图片描述

/d 0-9的任意一个数字re.sub('\d{4}-\d{2}-\d{2}')

使用捕获组,升级

re.sub('(\d{4})-(\d{2})-(\d{2})')组一,组二,组三 

描述被替换的格式,升级
使用原始字符串,防止被转义,升级
添加文本,升级

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

使用别名操作

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

ps:原始字符串的产生正是由于有正则表
达式的存在。原因是ASCII 字符和正则表达式特殊字符间所产生的冲突。比如,特殊符号“\b”在
ASCII 字符中代表退格键,但同时“\b”也是一个正则表达式的特殊符号,代表“匹配一个单词边界”。

0 0