码迷,mamicode.com
首页 > 编程说话 > 详细

python字符串调换之re.sub()

时间:2018-06-07 17:53:42      浏览:12455      评论:0      收藏:0      [点我收藏+]

标签:turn   nihao   前往   pattern   sub   婚配   最大年夜   err   return   

re.sub(patternreplstringcount=0flags=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)
‘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(patternreplstringcount=0flags=0)

 

和sub()函数一样,只是前往的是一个tuple,调换后的字符串和调换的个数  

 

 

 

python字符串调换之re.sub()

标签:turn   nihao   前往   pattern   sub   婚配   最大年夜   err   return   

原文地址:https://www.cnblogs.com/guoxueyuan/p/9151678.html

(0)
(1)
   
告发
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权一切 京ICP备13008772号-2
迷上了代码!