Я хочу заменить текст в моем текстовом документе. Я могу заменить текстовые строки, которые полностью совпадают, но я хочу заменить их, если они будут соответствовать искомой строке на 90%.
Я использую python-docx для работы с документами Word.
Нижеприведенный код заменяет текст в моем документе Word, если он полностью совпадает.
Код ссылка
def docx_replace_regex(doc_obj, regex , replace):
for p in doc_obj.paragraphs:
if regex.search(p.text):
inline = p.runs
# Loop added to work with runs (strings with same style)
for i in range(len(inline)):
if regex.search(inline[i].text):
text = regex.sub(replace, inline[i].text)
#inline[i].text = text.decode('UTF-8')
inline[i].text = text
for table in doc_obj.tables:
for row in table.rows:
for cell in row.cells:
docx_replace_regex(cell, regex , replace)
У меня нет правильного способа заменить частично совпадающую строку.
Любая помощь очень ценится.
Заранее спасибо.
python-docx
как таковым, или, по крайней мере, не должно.python-docx
может предоставить вам объектstr
, который вы затем можете модифицировать по своему усмотрению и отправить обратноpython-docx
. Ваша проблема сводится к тому, как выполнить нечеткий поиск/замену для объектаstr
, о котором вы сможете найти больше в поиске, например, в этом топе Google: github.com/seatgeek/fuzzywuzzy - person scanny   schedule 25.09.2018run
для сохранения форматирования текста. Я могу заменить текст, когда получаю точное совпадение строки с использованием указанного кода, но я хочу заменить текстовую строку, когда она соответствует примерно 90%. - person Purva   schedule 26.09.2018