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实现可将字符转换成大写的tcp服务器实例
Apr 29 Python
Python实现给文件添加内容及得到文件信息的方法
May 28 Python
python函数装饰器用法实例详解
Jun 04 Python
Python tkinter模块中类继承的三种方式分析
Aug 08 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
python中sort和sorted排序的实例方法
Aug 26 Python
Python 实现try重新执行
Dec 21 Python
python字符串判断密码强弱
Mar 18 Python
浅谈Python中文件夹和python package包的区别
Jun 01 Python
Pandas中DataFrame交换列顺序的方法实现
Dec 14 Python
解决Tkinter中button按钮未按却主动执行command函数的问题
May 23 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
Mar 03 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使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
Python打印斐波拉契数列实例
2015/07/07 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
10行Python代码计算汽车数量的实现方法
2019/10/23 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
jupyter notebook指定启动目录的方法
2021/03/02 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
英国网络托管和域名领导者:Web Hosting UK
2017/10/15 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
新加坡鲜花速递/新加坡网上花店:Ferns N Petals
2020/08/29 全球购物
大堂副理的岗位职责范文
2014/02/17 职场文书
法律顾问服务方案
2014/05/15 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle