是否有影響功能r'some string'
什麼是r-前綴的函數?
例如,我們有一些變量s='a:b\nc'
。我們想在稍後的某個地方轉義它,那麼什麼功能可以做到這一點?
re.escape
轉義:
太,所以它不等同於r-前綴。基本上r等價函數應該給a:b\\nc
作爲一個原始字符串,而不是a\:b\\nc
,對不對?
是否有影響功能r'some string'
什麼是r-前綴的函數?
例如,我們有一些變量s='a:b\nc'
。我們想在稍後的某個地方轉義它,那麼什麼功能可以做到這一點?
re.escape
轉義:
太,所以它不等同於r-前綴。基本上r等價函數應該給a:b\\nc
作爲一個原始字符串,而不是a\:b\\nc
,對不對?
您可能對字符串文字的原始前綴實際上做了什麼有點困惑,但無論如何,我認爲我理解了這個問題:您想要跳過反斜槓。
這是我能找到的最接近的東西。有可能是更好的方法:
>>> import codecs
>>> s = 'a:b\nc'
>>> codecs.encode(s, 'unicode-escape').decode('utf-8')
'a:b\\nc'
我不認爲'r'做你認爲它做。 –
[Python原始字符串]的可能重複(http://stackoverflow.com/questions/4415259/python-raw-strings) –
一旦字符串已經被解析並且*在內存*中,那麼就沒有'r '。例如,假設我有'x ='a:\ u0041'',你希望你的函數對'x'做什麼?值「x」等於文字「a a:A」。如果你想要一個''a:\'',這就是'r'所能做的,那麼就沒有辦法做到這一點,因爲解釋器不再提供原始文字表示。 (至少,不是沒有某種心理手動重新編碼代碼文件或類似的東西在牆上。)不清楚你想要什麼結果。 – jpmc26