我想搜索一个单词并用表替换它。 以下代码仅用于字符串:
def paragraph_replace(self, search, replace):
searchre = re.compile(search)
for paragraph in self.paragraphs:
paragraph_text = paragraph.text
if paragraph_text:
if searchre.search(paragraph_text):
paragraph.text = re.sub(search, replace, paragraph_text)
return paragraph_text
有没有办法用表替换它?
答案 0 :(得分:1)
表(如段落)是块级内容项,两者只能显示为对等项。因此,您无法在"中插入表格。一个段落。你只能在"之间有一张桌子。两段(或当然的开头或结尾)。
在我们将此功能添加到库中之前,这样的事情可能会对您有所帮助:
table = document.add_table(...)
p = paragraph_to_insert_before._p
p.addprevious(table._tbl)
._p
和._tbl
属性分别是lxml
和Paragraph
对象下的Table
元素。 addprevious()
方法是lxml
方法,在这种情况下,<w:tbl>
元素将移动到段落的前一个对等方。如果您想在段落之后使用,可以替换addnext()
。
这是一个肮脏的黑客,但也许足以让你,直到我们将该功能添加到库。如果它适合您,请告诉我们:)