小编典典

替换字符串中的多个字符

python

python中是否有一种简单的方法可以用另一个替换倍数字符?

例如,我想更改:

name1_22:3-3(+):Pos_bos

name1_22_3-3_+__Pos_bos

因此,基本上将全部替换"(",")",":""_"

我只知道这样做:

str.replace(":","_")
str.replace(")","_")
str.replace("(","_")

阅读 129

收藏
2021-01-16

共1个答案

小编典典

另一种可能性是通过以下方式结合使用所谓的 列表理解 和所谓的 三元条件运算符

text = 'name1_22:3-3(+):Pos_bos '
out = ''.join(['_' if i in ':)(' else i for i in text])
print(out) #name1_22_3-3_+__Pos_bos

正如它给出的那样list,我习惯''.joinlist字符(str长度为1的字符)更改为str

2021-01-16