re.sub(pattern,repl,string,count = 0,flags = 0)
  • re.sub用于替换字符串中的匹配项
  • 个人理解:返回将string中的pattern部分替换为repl的字符串
  • 返回通过替换repl替换字符串中最左侧不重叠的pattern的字符串获取的字符串。
  • 如果没有找到模式,则字符串不会更改。
  • repl可以是一个字符串或一个函数;
  • 如果是字符串,则会处理其中的任何反斜杠转义。 也就是说,\ n转换为单个换行符,\ r转换为回车符,依此类推。 未知的转义,如\&被遗忘。
  • count默认为0,表示每个匹配项都替换。
>>> s
'asasddas:'
>>> re.sub(r'\:','',s)
'asasddas'

如果repl是一个函数,则会对每个不重叠的模式发生调用。 该函数采用单个匹配对象参数,并返回替换字符串。 例如:

>>> def dashrepl(matchobj):
...     if matchobj.group(0) == '-': return ' '
...     else: return '-'
>>> re.sub('-{1,2}', dashrepl, 'pro----gram-files')
'pro--gram files'
>>> re.sub(r'\sAND\s', ' & ', 'Baked Beans And Spam', flags=re.IGNORECASE)
'Baked Beans & Spam'