2016-01-25 22 views
0

我试图在字典中转义“/”。这个字典拥有一些网址。转义字符串文字中的斜线

这正常工作 -

>>> url = "https://docs.python.org/2/reference/expressions.html" 
>>> print url.replace('/','\\/') 
https:\/\/docs.python.org\/2\/reference\/expressions.html 

但是当我把同样的模式在我的字典,我得到不同的结果。我相信这与字符串文字有关,但我不知道如何继续。

try: 
    data["URL"] = url.replace('/','\\/') 

回报:

"http:\\/\\/docs.python.org" 
+2

这是字符串表示。尝试打印它 – inspectorG4dget

+1

看起来你可能会对一个字符串是如何表示它的价值感到困惑。为什么你要像这样“逃避”这些字符串呢? – mgilson

+0

斜杠不需要被转义。是什么让你觉得你需要逃避它们? –

回答

0

在字典中调用时,使用repr()或eval()会引发语法错误。我发现的工作是在返回url时使用最终字典,并在本地字典之外使用替换函数而不是内部字典。

0

没有它与你是如何显示的数据做。该字符串包含您期望的内容。问题在于你没有打印字符串,你正在打印repr(thestring),它显示了它的文字字符串表示(即如何在代码中键入字符串文字),因此它包含反斜杠的转义。