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