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 相关文章推荐
仅利用30行Python代码来展示X算法
Apr 01 Python
Python字符串和文件操作常用函数分析
Apr 08 Python
Python变量作用范围实例分析
Jul 07 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
python的random模块及加权随机算法的python实现方法
Jan 04 Python
python实现逻辑回归的方法示例
May 02 Python
Python实现发送与接收邮件的方法详解
Mar 28 Python
python中返回矩阵的行列方法
Apr 04 Python
Python 统计字数的思路详解
May 08 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
Python利用scapy实现ARP欺骗的方法
Jul 23 Python
对python中assert、isinstance的用法详解
Nov 27 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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
php中Smarty模板初体验
2011/08/08 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
如何更好的编写js async函数
2018/05/13 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
Python实现全角半角转换的方法
2014/08/18 Python
python中as用法实例分析
2015/04/30 Python
python实现多线程抓取知乎用户
2016/12/12 Python
python编程实现希尔排序
2017/04/13 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
python 实现控制鼠标键盘
2020/11/27 Python
简洁的英文求职信范文
2014/05/03 职场文书
村委会换届选举方案
2014/05/03 职场文书
见习报告格式范文
2014/11/08 职场文书
承诺函范文
2015/01/21 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
Java 多态分析
2022/04/26 Java/Android
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android