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处理HTML转义字符的5种方式
Dec 27 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
Python爬虫实现简单的爬取有道翻译功能示例
Jul 13 Python
详解pyenv下使用python matplotlib模块的问题解决
Nov 29 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 Python
python可视化爬虫界面之天气查询
Jul 03 Python
elasticsearch python 查询的两种方法
Aug 04 Python
python爬虫之爬取百度音乐的实现方法
Aug 24 Python
TensorFlow实现从txt文件读取数据
Feb 05 Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 Python
Python学习之迭代器详解
Apr 01 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-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
php实现的漂亮分页方法
2014/04/17 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
2015/03/10 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
JavaScript实现窗口抖动效果
2016/10/19 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
Python 变量类型及命名规则介绍
2013/06/08 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
django 类视图的使用方法详解
2019/07/24 Python
Python简易版图书管理系统
2019/08/12 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
海外淘书首选:AbeBooks
2017/07/31 全球购物
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
资金主管岗位职责范本
2014/03/04 职场文书
学生犯错保证书
2015/05/09 职场文书
陪护人员误工证明
2015/06/24 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js