考慮してください:
>>> sample = "hello'world"
>>> print sample
hello'world
>>> print sample.replace("'","\'")
hello'world
私のWebアプリケーションでは、Python文字列をすべて単一引用符でエスケープし、後でクライアントブラウザのJavaScriptで操作できるようにエスケープする必要があります。問題はPythonバックスラッシュエスケープ表記法なので、上記の置換操作は効果がありません。
簡単な回避策はありますか?
使用する:
sample.replace("'", r"\'")
または
sample.replace("'", "\\'")
Python=からJavascriptにデータを渡すための一般的なソリューションとして、json
ライブラリ(Pythonの標準ライブラリの一部2.6+)。
>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"