Как заменить текст с учетом пробелов и новых строк с помощью odfdoPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как заменить текст с учетом пробелов и новых строк с помощью odfdo

Сообщение Anonymous »

Этого (вероятно) невозможно достичь с помощью 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»