2016-01-25 21 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),它顯示了它的文字字符串表示(即如何在代碼中鍵入字符串文字),因此它包含反斜槓的轉義。