2010-11-08 66 views
0
a = Account(unit = 2, path='/real/os/win/today/axl.xls', realname = 'st') 

我要的是逃避「爲HTML實體,這是'Python的正則表達式的幫助

記得,路徑後面的字符串可以是任何東西,我需要一個通用的方法來做到這一點。

此字符串的輸出是

Account(unit = 2, path='/real/os/win/today/axl.xls', realname = 'st') 
+1

你想這樣做_in_ python,這意味着你提供的示例是實際代碼或_with_ python,這意味着你提供的代碼將是一個字符串操縱使用python? – 2010-11-08 04:28:26

回答

0
re.sub(r"path=\'([^\']*)\'", "path='\1'", str) 
0

如果你想「/real/os/win/today/axl.xls」轉換爲'/real/os/win/today/axl.xls'你可以使用"'/real/os/win/today/axl.xls'".replace("'", ''')而不是使用正則表達式。

0

你有什麼是非HTML實體。如果我記得沒錯,有3種這樣的&...實體,e.x.-      都意味着U+00A0 NO-BREAK SPACE

  - (您擁有的類型)是「數字字符引用」(十進制)。

  - 是「數字字符引用」(十六進制)。

  - 是一個實體。

你可以檢查出弗雷德裏克·盧斯的Unescape HTML script(用於python2.x)&更多關於HTML entities here

0

,如果我理解正確的問題:

>>> a = "Account(unit = 2, path='/real/os/win/today/axl.xls', realname = 'st')" 
>>> re.sub("(?<=path=').*", lambda x: '&#39'+x.group(0), a) 
"Account(unit = 2, path='&#39/real/os/win/today/axl.xls', realname = 'st')"