python sub替換方法
命令:re.sub(pattern, repl, string, count=0, flags=0)
re.sub 用於替換字串的匹配項。如果沒有匹配到規則,則原字串不變。
第一個引數:規則
第二個引數:替換後的字串
第三個引數:字串
第四個引數:替換個數。預設為0,表示每個匹配項都替換
================================================================================
re.sub的功能
re是regular expression的縮寫,表示正則表示式;sub是substitude的縮寫,表示替換
re.sub是正則表示式的函式,實現比普通字串更強大的替換功能
sub(pattern,repl,string,count=0,flag=0)
1))pattern正則表示式的字串 eg中r'\w+'
2))repl被替換的內容eg中'10'
3))string正則表示式匹配的內容eg中"xy 15 rt 3e,gep"
4))count:由於正則表示式匹配的結果是多個,使用count來限定替換的個數從左向右,預設值是0,替換所有的匹配到的結果eg中2
5))flags是匹配模式,可以使用按位或者“|”表示同時生效,也可以在正則表示式字串中指定eg中flags=re.I
eg:
>>>import re
>>>re.sub(r'\w+','10',"xy 15 rt 3e,gep",2,flags=re.I )
'10 10 re 3e,gep',
其中r'\w+'為正則表示式,匹配多個英文單詞或者數字,'10'為被替換的內容,“xy 15 rt 3e,gep”是re匹配的字串內容,count只替換前2個,flag表示忽略大小寫
======================================================================
import re
def validateTitle(title):
rstr = r"[\/\\\:\*\?\"\<\>\|]" # '/ \ : * ? " < > |'
new_title = re.sub(rstr, "_", title) # 替換為下劃線
return new_title