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中*># 为-。更多使用请另外学习正则表达式

发布了11 篇原创文章 · 获赞 3 · 访问量 2743

猜你喜欢

转载自blog.csdn.net/qq_29869111/article/details/102623640