Python:字符串中的双向替换。

时间:2017-04-26 22:30:35

标签: python regex string

我想用双引号替换所有单引号,反之亦然。例如,将此字符串"1": " 'me' and 'you'"更改为'1': '"me" and "you"',我该怎么做?如果我mystering.replace('"', "'"),那么将转换为'然后,如果我反过来mystering.replace( "'", '"'),所有都将被转换为"。

2 个答案:

答案 0 :(得分:6)

这是string.translate(..)的一个很好的用例!在python 2.x中:

>>> import string
>>> print s.translate(string.maketrans('"\'', "'\""))
'1': ' "me" and "you"'
>>> print s
"1": " 'me' and 'you'"

答案 1 :(得分:1)

作为str.translate()(我建议使用)的替代方法,您可以使用dict手动替换每个字符:

>>> repl={'"': "'", "'":'"'}
>>> oldstr='''"1": " 'me'" and 'you'"'''
>>> newstr="".join([repl[i] if i in repl else i for i in oldstr])
>>> print(oldstr)
"1": " 'me'" and 'you'"
>>> print(newstr)
'1': ' "me"' and "you"'