replace()语法:
replace(old, new, max)
参数:
old → 旧字符串,将被替换的子字符串。
new →新字符串,用于替换old子字符串。
max → 可省略,默认全部替换,可选字符串,替换次数不超过max次。
>>>'jdkaka;ufahjka398jh'.replace('a','@')
'jdk@k@;uf@hjk@398jh'
>>>'jdkaka;ufahjka398jh'.replace('a','@',2)
'jdk@k@;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