Этого (вероятно) невозможно достичь с помощью https://github.com/jdum/odfdo/blob/mast ... e_words.py
body.replace("MAIN_TEXT", """ some multiline \n\n text """)
это просто заменяет текст на многострочный текст. Как заменить текст включая пробелы больше 1 и новые строки, так будет:
some multiline text
Ну, они хотели, чтобы я разместил необработанный код. Вот
`#!/usr/bin/env python
"""Search and replace words in a text document.
"""
from pathlib import Path
from odfdo import Document
_DOC_SEQUENCE = 700
DATA = Path(__file__).parent / "data"
SOURCE = "lorem.odt"
OUTPUT_DIR = Path(__file__).parent / "recipes_output" / "replaced_text"
TARGET = "lorem_replaced.odt"
def save_new(document: Document, name: str):
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
new_path = OUTPUT_DIR / name
print("Saving:", new_path)
document.save(new_path, pretty=True)
def search_replace(document):
body = document.body
# replace a string in the full document
body.replace("Lorem", "(Lorem replaced)")
# replace in paragraphs only
for paragraph in body.paragraphs:
paragraph.replace("ipsum", "(ipsum in paragraph)")
# replace in headers
for header in body.headers:
header.replace("ipsum", "(ipsum in header)")
# pattern is a regular expression
body.replace(r"\S+lit ", "(...lit) ")
body.replace(r"pul[a-z]+", "(pulvinar)")
def main():
document = Document(DATA / SOURCE)
search_replace(document)
save_new(document, TARGET)
if __name__ == "__main__":
main()`
Подробнее здесь: https://stackoverflow.com/questions/792 ... sing-odfdo
Как заменить текст с учетом пробелов и новых строк с помощью odfdo ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как заменить текст с уважением к пространствам и новым линиям, используя ODFDO
Anonymous » » в форуме Python - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-