使用 docx 模块在 docx 文档中按索引查找字符串
Find a string by index in docx document with docx module
我正在使用 docx 模块和正则表达式查看 docx 文档。
我找到了紧接在我实际要提取的字符串之前的文本。如何引用下一个字符串?我可以使用索引吗?
for table in wordDoc.tables:
for row in table.rows:
for cell in row.cells:
#grabbing the Payment Total Amount
if 'Total Payment Amount:' in cell.text:
print(cell.text)
print(cell.text.index)
输出:
Total Payment Amount:
<built-in method index of str object at 0x000001F9376D26C0>
像这样的东西应该会给你这样的想法:
>>> text = "The quick brown fox"
>>> key = "quick"
>>> start = text.index(key)
>>> start
4
>>> text[start:]
'quick brown fox'
>>> text[start+len(key):]
' brown fox'
几个要点:
.index()
是一个方法,而不是 属性,所以你需要给它你想要的键值。
`.index() 给你key在字符串中的starting偏移量,你需要加上key的长度来定位后缀.
“切片”字符串以获得后缀是通过开放式范围(例如 s[n:]
)完成的。在 python string slice
上搜索以查找有关其工作原理的更多信息。
您可能需要考虑单词之间的 spaces。使用 .lstrip()
方法可能是最好的方法,因为它适用于无 space、一个 space 或多个 space。
>>> text[start+len(key):].lstrip()
'brown fox'
我正在使用 docx 模块和正则表达式查看 docx 文档。
我找到了紧接在我实际要提取的字符串之前的文本。如何引用下一个字符串?我可以使用索引吗?
for table in wordDoc.tables:
for row in table.rows:
for cell in row.cells:
#grabbing the Payment Total Amount
if 'Total Payment Amount:' in cell.text:
print(cell.text)
print(cell.text.index)
输出:
Total Payment Amount:
<built-in method index of str object at 0x000001F9376D26C0>
像这样的东西应该会给你这样的想法:
>>> text = "The quick brown fox"
>>> key = "quick"
>>> start = text.index(key)
>>> start
4
>>> text[start:]
'quick brown fox'
>>> text[start+len(key):]
' brown fox'
几个要点:
.index()
是一个方法,而不是 属性,所以你需要给它你想要的键值。`.index() 给你key在字符串中的starting偏移量,你需要加上key的长度来定位后缀.
“切片”字符串以获得后缀是通过开放式范围(例如
s[n:]
)完成的。在python string slice
上搜索以查找有关其工作原理的更多信息。您可能需要考虑单词之间的 spaces。使用
.lstrip()
方法可能是最好的方法,因为它适用于无 space、一个 space 或多个 space。>>> text[start+len(key):].lstrip() 'brown fox'