python字符串替换re.sub()实例解析


Posted in Python onFebruary 09, 2020

这篇文章主要介绍了python字符串替换re.sub()实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

re.sub(pattern, repl, string, count=0, flags=0)

pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改。\1 代表第一个分组

repl是将会被替换的值,repl可以是字符串也可以是一个方法。如果是一个字符串,反斜杠会被处理为逃逸字符,如\n会被替换为换行,等等。repl如果是一个function,每一个被匹配到的字段串执行替换函数。

\g<1> 代表前面pattern里面第一个分组,可以简写为\1,\g<0>代表前面pattern匹配到的所有字符串。

count是pattern被替换的最大次数,默认是0会替换所有。有时候可能只想替换一部分,可以用到count

实例1:

a = re.sub(r'hello', 'i love the', 'hello world')
print(a)<br data-filtered="filtered">'i love the world'  #hello world里面的hello被 i love the替换

实例2:

>>> a = re.sub(r'(\d+)', 'hello', 'my numer is 400 and door num is 200')
>>> a
'my numer is hello and door num is hello' #数字400 和 200 被hello替换

实例3:

a = re.sub(r'hello (\w+), nihao \1', r'emma','hello sherry, nihao sherry')
>>> a
'emma' #\1代表第一个分组的值即sherry,因为有两个sherry,所以用\1可以指代第二个,这样整个字符串被emma替换

示例4:

>>> a = re.sub('(\d{4})-(\d{2})-(\d{2})', r'\2-\3-\1', '2018-06-07')
>>> a
'06-07-2018'
>>> a = re.sub('(\d{4})-(\d{2})-(\d{2})', r'\g<2>-\g<3>-\g<1>', '2018-06-07')
>>> a
'06-07-2018' #\2 和 \g<2> 指代的的都是前面的第二个分组

示例5:

import re
def replace_num(str):
  numDict = {'0':'?','1':'一','2':'二','3':'三','4':'四','5':'五','6':'六','7':'七','8':'八','9':'九'}
  print(str.group())
  return numDict[str.group()]
my_str = '2018年6月7号'
a = re.sub(r'(\d)', replace_num, my_str)
print(a) #每次匹配一个数字,执行函数,获取替换后的值

re.subn(pattern, repl, string, count=0, flags=0)

和sub()函数一样,只是返回的是一个tuple,替换后的字符串和替换的个数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用go和python递归删除.ds store文件的方法
Jan 22 Python
python列表操作实例
Jan 14 Python
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
django框架F&amp;Q 聚合与分组操作示例
Dec 12 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
python求解汉诺塔游戏
Jul 09 Python
Python如何读写二进制数组数据
Aug 01 Python
Python随机数函数代码实例解析
Feb 09 #Python
Python如何访问字符串中的值
Feb 09 #Python
python3 字符串知识点学习笔记
Feb 08 #Python
python入门之基础语法学习笔记
Feb 08 #Python
python实现飞机大战游戏(pygame版)
Oct 26 #Python
Python调用Windows命令打印文件
Feb 07 #Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 #Python
You might like
深入解析php之apc
2013/05/15 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
浅谈javascript 面向对象编程
2009/10/28 Javascript
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
javascript 回调函数详解
2014/11/11 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
javascript同步服务器时间和同步倒计时小技巧
2015/09/24 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
[01:01]2020完美高校联赛(秋)西安落幕
2021/03/11 DOTA
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
详解python3实现的web端json通信协议
2016/12/29 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python序列类型的打包和解包实例
2019/12/21 Python
Python random库使用方法及异常处理方案
2020/03/02 Python
建筑工程管理专业自荐信范文
2013/12/28 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
文明市民先进事迹
2014/05/15 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
2016年校长新年寄语
2015/08/17 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB