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 相关文章推荐
python网络编程学习笔记(六):Web客户端访问
Jun 09 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
django 开发忘记密码通过邮箱找回功能示例
Apr 17 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
Python多图片合并PDF的方法
Jan 03 Python
Python实现深度遍历和广度遍历的方法
Jan 22 Python
Python线程障碍对象Barrier原理详解
Dec 02 Python
Pycharm+Python工程,引用子模块的实现
Mar 09 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
python 获取剪切板内容的两种方法
Nov 28 Python
pip install命令安装扩展库整理
Mar 02 Python
python实现简易自习室座位预约系统
Jun 30 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的5个入手程序
2006/11/23 PHP
thinkphp文件处理类Dir.class.php的用法分析
2014/12/08 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
图片按比例缩放函数
2006/06/26 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
js图片处理示例代码
2014/05/12 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
浅析Python多线程下的变量问题
2015/04/28 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
python的range和linspace使用详解
2019/11/27 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
销售业务员岗位职责
2014/01/29 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
健康状况证明模板
2014/10/23 职场文书
家庭贫困证明
2015/06/16 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技