如何删除不必要的标签?

时间:2012-03-14 08:08:16

标签: python

我的表(mysql)中有字段“body”,有很多条目,如:

</p><p>  &nbsp;</p><p>

</p><p> 
   </p><p>

很多空格,新行,&amp; nbsp等。如何删除它?

这不起作用:

text.replace('</p><p>&nbsp;</p><p>', '</p><p>')
text.replace('</p><p>\n</p><p>', '</p><p>')

5 个答案:

答案 0 :(得分:2)

text = ''.join(text.split()) - 之后您可以继续替换。

答案 1 :(得分:1)

我会在语法树中解析这样的文件,然后删除空叶。然后会再次生成HTML文件。 不幸的是我不在python中工作,我无法为此指定有用的库。

答案 2 :(得分:1)

什么@Jurlie建议是一个好方法。 考虑将BeautifulSoup用于此purpouse。它是一个非常成熟和强大的库。

答案 3 :(得分:0)

试试这个正则表达式:

>>> import re
>>> text = '''</p><p>  &nbsp;</p><p>
... 
... </p><p> 
...    </p><p>
... '''
>>> re.sub(r'<p>(?:&nbsp;|\s|<br \/>)*?</p>\s*', '', text)
'</p><p>\n'

答案 4 :(得分:0)

text.strip('>&nbsp;').strip(' ').strip('\n').strip('\t')