我的表(mysql)中有字段“body”,有很多条目,如:
</p><p> </p><p>
</p><p>
</p><p>
很多空格,新行,&amp; nbsp等。如何删除它?
这不起作用:
text.replace('</p><p> </p><p>', '</p><p>')
text.replace('</p><p>\n</p><p>', '</p><p>')
答案 0 :(得分:2)
text = ''.join(text.split())
- 之后您可以继续替换。
答案 1 :(得分:1)
我会在语法树中解析这样的文件,然后删除空叶。然后会再次生成HTML文件。 不幸的是我不在python中工作,我无法为此指定有用的库。
答案 2 :(得分:1)
什么@Jurlie建议是一个好方法。 考虑将BeautifulSoup用于此purpouse。它是一个非常成熟和强大的库。
答案 3 :(得分:0)
试试这个正则表达式:
>>> import re
>>> text = '''</p><p> </p><p>
...
... </p><p>
... </p><p>
... '''
>>> re.sub(r'<p>(?: |\s|<br \/>)*?</p>\s*', '', text)
'</p><p>\n'
答案 4 :(得分:0)
text.strip('> ').strip(' ').strip('\n').strip('\t')