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连接mongodb操作数据示例(mongodb数据库配置类)
Dec 31 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
May 10 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
python获取代码运行时间的实例代码
Jun 11 Python
python中文编码与json中文输出问题详解
Aug 24 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
python函数的作用域及关键字详解
Aug 20 Python
Python类中方法getitem和getattr详解
Aug 30 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
在python中使用nohup命令说明
Apr 16 Python
python实现斗地主分牌洗牌
Jun 22 Python
python 实现压缩和解压缩的示例
Sep 22 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
JavaScript中神奇的call()方法
2015/03/12 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
python多任务之协程的使用详解
2019/08/26 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
幼儿园中班新学期寄语
2014/01/18 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
nginx之queue的具体使用
2022/06/28 Servers