python字符串替换re.sub()实例解析

作者:郭雪原 时间:2022-09-15 00:25:18 

这篇文章主要介绍了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,替换后的字符串和替换的个数

来源:https://www.cnblogs.com/guoxueyuan/p/9151678.html

标签:python,字符串,替换,re,sub
0
投稿

猜你喜欢

  • python自动下载图片的方法示例

    2022-01-03 06:32:44
  • windows下cx_Freeze生成Python可执行程序的详细步骤

    2022-12-06 05:27:57
  • 在Python程序中实现分布式进程的教程

    2021-12-19 23:18:15
  • Tensorflow分批量读取数据教程

    2023-04-15 20:02:05
  • mysql递归函数with recursive的用法举例

    2024-01-16 22:37:22
  • 设计师和美工

    2008-10-27 13:43:00
  • Python深度学习之实现卷积神经网络

    2021-08-11 01:57:01
  • Python 查找list中的某个元素的所有的下标方法

    2022-10-15 21:48:16
  • SQL写法--行行比较

    2024-01-12 18:53:34
  • Python开发的HTTP库requests详解

    2021-09-06 19:08:09
  • MySQL内外连接的具体使用

    2024-01-17 13:52:49
  • 深入浅析Django MTV模式

    2021-08-18 07:55:32
  • flask中响应错误的处理及errorhandler的应用方式

    2021-09-22 08:46:19
  • ASP XMLDom在服务器端操作XML文件的主要方法和实现

    2011-03-09 11:09:00
  • PyTorch平方根报错的处理方案

    2022-05-12 09:09:19
  • Python实现判断给定列表是否有重复元素的方法

    2021-05-25 13:34:59
  • 防盗链接ASP函数

    2011-03-07 11:02:00
  • vue2.0 可折叠列表 v-for循环展示的实例

    2024-04-28 09:32:22
  • JavaScript实现的一个计算数字步数的算法分享

    2024-05-03 15:32:42
  • python 实现提取PPT中所有的文字

    2023-05-01 04:21:35
  • asp之家 网络编程 m.aspxhome.com