在Python中去除HTML标签之间的空格和换行(即去格式化)

2 投票
2 回答
5663 浏览
提问于 2025-04-16 00:17

一个例子:

<p> Hello</p>
<div>hgello</div>
<pre>
   code
    code
<pre>

变成类似这样的:

<p> Hello</p><div>hgello</div><pre>
    code
     code
<pre>

在Python中怎么做到这一点?我也经常使用< pre>标签,所以把所有的'\n'替换成''是不行的。

这样做的最佳方法是什么?

2 个回答

2

我会选择使用Python的正则表达式:

string.replace(">\s+<","><")

这里的'\s'是用来找到任何空白字符的,而后面的'+'表示它可以匹配一个或多个空白字符。这就避免了替换时可能出现的问题。

<pre>
    code
     code
<pre>

替换成

<pre><pre>

关于正则表达式的更多信息可以在这里这里这里找到。

6

你可以用 re.sub(">\s*<","><","[这里是你的html字符串]") 这个方法。

或者可以试试 string.replace(">\n",">"),也就是找一个右尖括号和换行符,把换行符去掉。

撰写回答