python字符串替换有两种方法:
1. replace
>>> s = 'the table of contents for the book lists all of the modules covered'
>>> s.replace('e','2')
7: 'th2 tabl2 of cont2nts for th2 book lists all of th2 modul2s cov2r2d'
只能进行单一的替换,可以对一个大的字符串替换
2. 用maketrans和translate
>>> s
10: 'the table of contents for the book lists all of the modules covered'
>>> leet = string.maketrans('aefcro','123456')
>>> s.translate(leet)
11: 'th2 t1bl2 63 46nt2nts 365 th2 b66k lists 1ll 63 th2 m6dul2s 46v252d'
可以进行多个的替换,缺点是对字符串整个替换不好
0
顶
3
踩
分享到:
2012-09-27 10:06
浏览 2240
评论
2 楼
sls0919
2012-10-19
greatghoul 写道
再看看 re.sub
谢谢greatghoul
还有一种用re替换的
>>> import re
>>> s = 'the table of contents for the book lists all of the modules covered'
>>> s
0: 'the table of contents for the book lists all of the modules covered'
>>> p = re.compile('th')
>>> p.sub('123',s)
1: '123e table of contents for 123e book lists all of 123e modules covered'
>>> p.sub('123',s,1) #此处后面的数量为要替换的个数,默认是全部替换
2: '123e table of contents for the book lists all of the modules covered'
>>> p.sub('123',s,10) #当不知道个数时可以不要此参数,也可以设置一个极大值
3: '123e table of contents for 123e book lists all of 123e modules covered'
>>>
1 楼
greatghoul
2012-10-18
再看看 re.sub