【发布时间】:2017-02-01 01:42:47
【问题描述】:
我有一个字符串 -
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\"}?
【问题讨论】:
-
通常替换字符串的第一个参数是您要更改的值,第二个参数是您要更改的值。在这种情况下,您想更改
l.replace('"', '\"')以获得所需的结果 -
它还返回 '{"a": "1", "b": "2"}'
-
哦,我忘记了 Python 将 \ 视为下一个字符一个物理字符,这意味着它需要一个双反斜杠才能得到结果,抱歉 @McGrady 是正确的 :)
-
您的第二个
replace调用正在运行,您只看到了结果的repr(反斜杠加倍)。
标签: python