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的Tornado框架实现一个一对一聊天的程序
Apr 25 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
Django验证码的生成与使用示例
May 20 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
Python的高阶函数用法实例分析
Apr 11 Python
在django view中给form传入参数的例子
Jul 19 Python
python实现操作文件(文件夹)
Oct 31 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
tensorflow 自定义损失函数示例代码
Feb 05 Python
python实现二分查找算法
Sep 18 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
PyQt5 显示超清高分辨率图片的方法
Apr 11 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
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python Xml文件添加字节属性的方法
2018/03/31 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
python 使用事件对象asyncio.Event来同步协程的操作
2020/05/04 Python
Python打印不合法的文件名
2020/07/31 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
联想德国官网:Lenovo Germany
2018/07/04 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
父亲的菜园教学反思
2014/02/13 职场文书
优秀班组长事迹
2014/05/31 职场文书
自主招生学校推荐信
2014/09/26 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
营销经理工作检讨书
2014/11/03 职场文书
数学教师个人工作总结
2015/02/06 职场文书
2015教师年度考核评语
2015/03/25 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang