Рассмотреть:

>>> sample = "hello'world"
>>> print sample
hello'world
>>> print sample.replace("'","\'")
hello'world

В моем веб-приложении мне нужно сохранить строку Python со всеми одинарными кавычками, чтобы впоследствии можно было манипулировать в JavaScript клиентских браузеров. Проблема в том, что Python использует ту же обратную косую черту, поэтому операция замены, описанная выше, не имеет никакого эффекта.

Есть ли простой способ обхода?

30
rutherford 14 Сен 2010 в 14:50

2 ответа

Лучший ответ

Использование:

sample.replace("'", r"\'")

Или

sample.replace("'", "\\'")
37
Gintautas Miliauskas 14 Сен 2010 в 10:52

В качестве общего решения для передачи данных из Python в Javascript рассмотрите возможность их сериализации с помощью библиотеки json (часть стандартной библиотеки в Python 2.6+).

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
49
Daniel Roseman 14 Сен 2010 в 11:56