replace()和re.s()用法
阿新 • • 發佈:2019-01-05
replace()語法:
replace(old, new, max)
引數:
old → 舊字串,將被替換的子字串。
new →新字串,用於替換old子字串。
max → 可省略,預設全部替換,可選字串,替換次數不超過max次。
>>>'jdkaka;ufahjka398jh'.replace('a','@')
'[email protected]@;[email protected]@398jh'
>>>'jdkaka;ufahjka398jh'.replace('a','@',2)
'[email protected] @;ufahjka398jh'
re.sub()語法:
re.sub(pattern, repl, string, count=0, flags=0)
re是regular expression的縮寫,表示正則表示式;sub是substitude的縮寫,表示替換
re.sub是正則表示式的函式,實現比普通字串更強大的替換功能
))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,flags表示忽略大小寫,re.S表示匹配到\n換行符。
中r’\w+'為正則表示式,匹配多個英文單詞或者數字,
示例1
>>>import re
>>>string1 = 'shy and outgoing'
>>>re.sub('shy|outgoing', 'personality', string1)
'personality and personality'
###示例2
>>>import re >>>re.sub('a','&',a) '&bj&vl&lh&ju2&i8' >>>re.sub('a','&',a, count=2) '&bj&vlalhaju2ai8'
###示例3
>>>import re
>>>s = '2017-01-22'
>>>s = re.sub('(\d{4})-(\d{2})-(\d{2})', r'\3-\1-\2', s)
22-2017-01