2010-11-08 59 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')"