我正在处理一个非常粗糙的html文件。
它看起来像:
<p><i><font size="2" style="font-size:10.0pt;font-style:italic;"> The
Company’s future results</font></i><i><font size="2" style="font-size:10.0pt;font-style:italic;">
and energy,</font></i><i><font style="font-style:italic;">including oil
and natural gas</font></i><i><font style="font-style:italic;">are under risk</font></i>Some text in the p tag</p>
文本The Company's future results and energy, including oil and natural gas are under risk
位于多个<i>
标签中
有没有一种方法可以使我在此文本中只得到一个<i>
。 (我不在乎字体标签)。我的html应该看起来像这样:
<p><i><font size="2" style="font-size:10.0pt;font-style:italic;"> The
Company’s future results</font><font size="2" style="font-size:10.0pt;font-style:italic;">
and energy,</font><font style="font-style:italic;">including oil
and natural gas</font><font style="font-style:italic;">are under risk</font></i>Some text in the p tag</p>
答案 0 :(得分:0)
您只需使用正则表达式即可。 喜欢:
import re
html= re.sub(r'</i><i>', '', html, flags=re.I)
当然,如果您确定i标记始终以小写形式编写,则可以执行以下操作:
html= html.replace('</i><i>', '')
两个版本都基于这样的假设,即开闭i-tag彼此相邻出现以便被替换(但我想那是您想要的,对吧?)。