【发布时间】:2019-09-21 13:09:12
【问题描述】:
使用 BeautifulSoup 的美化后,我想从 span 周围删除换行符和缩进,也许还有其他内联标签。
例如,我目前有这样的事情:
>>> import bs4
>>> html = "<div><p>I don't want this <span>span element</span> on it's one line.</p></div>"
>>> soup = bs4.BeautifulSoup(html, "html.parser")
>>> soup.prettify()
"<div>\n <p>\n I don't want this\n <span>\n span element\n </span>\n on its one line.\n </p>\n</div>"
>>> print(soup.prettify())
<div>
<p>
I don't want this
<span>
span element
</span>
on it's one line.
</p>
</div>
我可以使用什么正则表达式来删除 span 标签周围的缩进空格和换行符,以便我最终得到这个:
<div>
<p>
I don't want this <span>span element</span> on its one line.
</p>
</div>
【问题讨论】:
-
不太好,但如果它总是以这种方式显示,您可以使用
soup.prettify().replace("\n <span>\n ", " <span>").replace("\n </span>\n ", "</span>") -
重复的建议仍然将跨度放在自己的行上。不过感谢您的建议。我正在尝试修改它以获得我想要的结果。
标签: python regex beautifulsoup