用' \"'替换双引号在python中

时间:2017-02-01 01:42:48

标签: python

我有一个字符串 -

l = '{"a": "1", "b": "2"}'

我想将此字符串转换为 -

'{\"a\": \"1\", \"b\": \"2\"}'

为此,我试图取代"用\"

这是我尝试过的 -

l.replace('\"', '\"')
'{"a": "1", "b": "2"}' 

l.replace('\"', '\\"')
'{\\"a\\": \\"1\\", \\"b\\": \\"2\\"}'

如何转换{\"a\": \"1\", \"b\": \"2\"}

2 个答案:

答案 0 :(得分:10)

试试这个:

print l.replace('"','\\"')

'\"'并不代表Python的任何特殊内容,因此如果您运行

,则无需在\之前添加"

print l.replace('\"', '\\"'),你也会得到一个反斜杠。

实际上你所看到的是字符串的表示,它由repr()方法添加.Python将字符串中的反斜杠表示为\\,因为反斜杠是Escape Character

如果您打印它,您将获得单个反斜杠。

您可以从String and Bytes literals看到更多信息。

答案 1 :(得分:0)

你也可以尝试这个

print l.replace('"',r'\"')

print l.replace('"','\\"')