2016-02-15 22 views
1

把這個變量如何獲得轉義字符的正確位置?

str = 'how{"to\"get\"this"}position' 

我想要得到的字符串\"的位置,應該是因爲轉義字符的7

print str.find('\"')回報4。

print str.find('\"')('\')(r'\'),返回-1,沒有結果

等什麼SUBSTR我應該用它來得到正確的結果?

實際的字符串是'[{....,「html」:「< spanclass = \」icon-pitisscon-service-duliag \「>」,....}]',這是一個json格式字符串, 由於\「我不能使用json.loads()函數,我該怎麼辦?謝謝

+3

'\ 「'='」'....... –

回答

0

你已經存儲了錯誤的字符串(Escape missing)。存儲,如果你通過通過print str打印出來檢查海峽,你會得到how{"to"get"this"}position,這就是爲什麼你的搜索失敗。同樣,搜索字符串應適當轉義。

正確的做法是

str = 'how{"to\\"get\\"this"}position' 
print str.find('\\"')` 
+0

也使用原始字符串'r'how { 「到\」 獲得\ 「這個」} position'' –

+0

實際字符串是'{....,「html」:「」,....}]',這是一個json格式字符串, 我不能因爲\「使用json.loads()函數,我該怎麼辦?謝謝 – Ian

1

您的strhow{"to"get"this"}position,它裏面沒有\";所以find(r'\"')將返回-1

>>> str = 'how{"to\"get\"this"}position' 
>>> str 
'how{"to"get"this"}position' 
>>> 

如果你想擁有海峽= how{"to\"get\"this"}position即可;

>>> str = r'how{"to\"get\"this"}position' 
>>> str 
'how{"to\\"get\\"this"}position' 
>>> str.find(r'\"') 
7 
>>> 
+0

實際的字符串是'{....,」html「:」」,....}]',這是一個json格式的字符串,我不能在其前面添加'r',我只想刪除'\',否則我不能使用json.loads()函數,我該怎麼辦?謝謝 – Ian

相關問題