python中是否有一种简单的方法可以用另一个替换倍数字符?
例如,我想更改:
name1_22:3-3(+):Pos_bos
至
name1_22_3-3_+__Pos_bos
因此,基本上将全部替换"(",")",":"为"_"。
"(",")",":"
"_"
我只知道这样做:
str.replace(":","_") str.replace(")","_") str.replace("(","_")
另一种可能性是通过以下方式结合使用所谓的 列表理解 和所谓的 三元条件运算符 :
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,我习惯''.join将list字符(str长度为1的字符)更改为str。
list
''.join
str