python多种字符替换为一个字符

一开始想用replace()替换,但是要处理多个字符,写起来代码不整洁

a='fs233*bb>>c##ad'
a.replace('*','-').replace('>','-').replace('#','-')
print(a)
fs233bbcad

每次只能替换一个字符或字符串
后来发现可以用re.sub()完美解决

import re
a='fs233*bb>>c##ad'
re.sub(r'[\*>#]','-',a)
print(a)
fs233bbcad

re.sub() 的第一个参数是pattern,使用正则表达式,所以例子中 [*>#] 代表 [] 中的任何一个字符,即替换a中*># 为-。更多使用请另外学习正则表达式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章