我想将 id 添加到 html 标签。例如,我想更改:
<p>First paragraph</p>
<p>Second paragraph</p>
<p>Third paragraph</p>
到
<p id="1">First paragraph</p>
<p id="2">Second paragraph</p>
<p id="3">Third paragraph</p>
IIRC,可以使用 lambda 函数来实现此功能,但我不记得确切的语法。
最佳答案
我会使用 HTML 解析器,例如 BeautifulSoup
.
想法是使用 enumerate()
遍历所有段落用于索引,从 1
开始:
from bs4 import BeautifulSoup
data = """
<p>First paragraph</p>
<p>Second paragraph</p>
<p>Third paragraph</p>
"""
soup = BeautifulSoup(data, 'html.parser')
for index, p in enumerate(soup.find_all('p'), start=1):
p['id'] = index
print soup
打印:
<p id="1">First paragraph</p>
<p id="2">Second paragraph</p>
<p id="3">Third paragraph</p>
关于Python:如何向 re.sub() 的替换参数添加计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26678773/