2017-02-01 13 views
1

に私は、文字列がある - 私は交換してくださいしようとしています。このためはとの二重引用符を置き換える「 "」パイソン

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

-

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

を私はこの文字列を変換したい" \と「ここ

は、私が試したものだ -

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

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

{\"a\": \"1\", \"b\": \"2\"}はどのように変換しますか?

+0

もこれを試すことができます。この場合、希望の結果を得るために 'l.replace( '' '' \" ') 'を変更したいとします。 – TravisF

+0

また、' {" a ":" 1 "、" b ":" 2 "} ' –

+0

可能な複製http://stackoverflow.com/questions/18886596/replace-all-quotes-in-a-string-with-escaped-quotes – Avi

答えて

5

はこれを試してみてください:

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

'\"'は、Pythonに特別なことを意味するものではありませんので、あなたが"\を追加する必要はありませんあなたは

print l.replace('\"', '\\"')を実行した場合、あなたは、単一のバックスラッシュを取得しますあまりにも。

実際に見ているのは文字列の表現です。repr()メソッドによって追加されています。円は、\\という文字列のバックスラッシュを表します。逆円はEscape Characterです。

印刷すると、バックスラッシュが1つ表示されます。

String and Bytes literalsから詳細を見ることができます。

+0

古い/旧バージョンのPythonを使用していない場合は、 'print(l.replace( '"'、 '\\ "'))' – semicolon

0

あなたは置き換える文字列の最初の引数は、変更したい値であり、第二は、あなたがそれを変更したいものです

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

または

一般
print l.replace('"','\\"') 
関連する問題