如何删除BeautifulSoup中的空格

前端之家收集整理的这篇文章主要介绍了如何删除BeautifulSoup中的空格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一堆HTML我正在使用BeautifulSoup进行解析,除了一个小问题之外它一直很顺利.我想将输出保存为单行字符串,以下是我当前的输出
<li><span class="plaincharacterwrap break">
                    Zazzafooky but one two three!
                </span></li>
<li><span class="plaincharacterwrap break">
                    Zazzafooky2
                </span></li>
<li><span class="plaincharacterwrap break">
                    Zazzafooky3
                </span></li>

理想情况下,我想

<li><span class="plaincharacterwrap break">Zazzafooky but one two three!</span></li><li><span class="plaincharacterwrap break">Zazzafooky2</span></li>

有很多冗余的空白我想摆脱它但是它不一定是使用strip()可移除的,我也不能公然删除所有的空格因为我需要保留文本.我该怎么做?这似乎是一个普遍的问题,正则表达式会有点矫枉过正,但这是唯一的方法吗?

我没有任何< pre>标签所以我可以在那里更有力量.

再次感谢!

解决方法

如果没有正则表达式,您可以执行以下操作:
>>> html = """    <li><span class="plaincharacterwrap break">
...                     Zazzafooky but one two three!
...                 </span></li>
... <li><span class="plaincharacterwrap break">
...                     Zazzafooky2
...                 </span></li>
... <li><span class="plaincharacterwrap break">
...                     Zazzafooky3
...                 </span></li>
... """
>>> html = "".join(line.strip() for line in html.split("\n"))
>>> html
'<li><span class="plaincharacterwrap break">Zazzafooky but one two three!</span></li><li><span class="plaincharacterwrap break">Zazzafooky2</span></li><li><span class="plaincharacterwrap break">Zazzafooky3</span></li>'

猜你在找的HTML相关文章