时间:2021-05-22
这篇文章主要介绍了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 redef 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,替换后的字符串和替换的个数
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python正则替换字符串函数re.sub用法。分享给大家供大家参考,具体如下:pythonre.sub属于python正则的标准库,主要是的功能
1、删除字符串中的Python注释案例:?1234importretime="2020-01-01#这是一个日期"num=re.sub(r'#.*$&#
python有时候需要清除字符串前后空格,而字符本身的空格不需要清除掉,那就不能用正则re.sub来实现。这时用到strip()函数用法:str='2014-0
re.sub功能,比replace强大的替换函数,将正则表达式匹配上的模块替换成replre.sub(pattern,repl,string,count=0,f
python字符串替换是python操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法。python字符串替换可以用2种方法实现:1是用字符串本身的