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 相关文章推荐
使用Turtle画正螺旋线的方法
Sep 22 Python
python递归函数绘制分形树的方法
Jun 22 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
python儿童学游戏编程知识点总结
Jun 03 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
关于pymysql模块的使用以及代码详解
Sep 01 Python
Python猜数字算法题详解
Mar 01 Python
python模拟实现分发扑克牌
Apr 22 Python
Python小白垃圾回收机制入门
Jun 09 Python
Python中常用的os操作汇总
Nov 05 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
Nov 28 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 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
yii2缓存Caching基本用法示例
2016/07/18 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
漂亮的提示信息(带箭头)
2007/03/21 Javascript
javascript document.execCommand() 常用解析
2009/12/14 Javascript
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
python字符串,数值计算
2016/10/05 Python
python删除某个字符
2018/03/19 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
日期和时间问题
2015/01/04 面试题
医学生自荐信
2013/12/03 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
关于建议书的格式范文
2014/05/20 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
给老师的一封感谢信
2015/01/20 职场文书
创业计划书之家教中心
2019/09/25 职场文书
话题作文之诚信
2019/11/28 职场文书
MySQL数据库完全卸载的方法
2022/03/03 MySQL