Tìm và thay thế văn bản trong Word bằng Python

Thông thường, bạn cần thay thế một văn bản hoặc cụm từ cụ thể trong tài liệu Word. MS Word được tích hợp sẵn một tính năng dành cho những trường hợp như vậy và bạn có thể thay thế văn bản mong muốn bằng một cú nhấp chuột. Trong bài viết này, bạn sẽ học cách lập trình tìm và thay thế văn bản trong tài liệu Word bằng Python. Điều này có thể hữu ích khi bạn cần thay thế văn bản trong một loạt tài liệu. Ngoài ra, bạn có thể nhúng tính năng này vào các ứng dụng Python của mình để kiểm duyệt các tài liệu Word trước khi chia sẻ.

Thư viện Python để thay thế văn bản trong tài liệu Word

Để tìm và thay thế văn bản trong các tệp DOCX hoặc DOC, chúng tôi sẽ sử dụng Aspose.Words for Python. Đây là một thư viện Python giàu tính năng cho phép bạn tạo và thao tác liền mạch các tài liệu MS Word. Bạn có thể cài đặt thư viện từ PyPI bằng lệnh pip sau.

pip install aspose-words

Tìm và thay thế văn bản trong tài liệu Word bằng Python

Sau đây là các bước để tìm và thay thế văn bản trong tài liệu Word bằng Python.

  • Tải tài liệu bằng lớp Tài liệu.
  • Sử dụng phương thức Document.range.replace (string, string, aw.replacing.FindReplaceOptions (aw.replacing.FindReplaceDirection.FORWARD)) để thay thế văn bản.
  • Lưu tài liệu đã cập nhật bằng phương thức Document.save (string).

Mẫu mã sau đây cho thấy cách thay thế một văn bản cụ thể trong tài liệu DOCX bằng Python.

import aspose.words as aw

# tải tài liệu Word
doc = aw.Document("document.docx")

# thay thế văn bản
doc.range.replace("sad", "[replaced]", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# lưu tài liệu đã sửa đổi
doc.save("updated.docx")

Sau đây là tài liệu Word đầu vào mà chúng tôi đã sử dụng trong ví dụ này.

Input Word Document

Sau đây là tài liệu Word được cập nhật sau khi thay thế văn bản.

Thay thế một văn bản trong tài liệu Word bằng Python

Cập nhật tài liệu Word sau khi thay thế văn bản

Thay thế Văn bản trong Tài liệu Word bằng Biểu thức Thông thường

Trong một số trường hợp nhất định, bạn có thể muốn thay thế văn bản phù hợp với một mẫu cụ thể. Ví dụ: bạn có thể muốn bỏ qua các địa chỉ email được viết trong tài liệu trước khi chia sẻ chúng trực tuyến. Đối với những trường hợp như vậy, bạn có thể chỉ định một biểu thức chính quy để thay thế các lần xuất hiện văn bản phù hợp. Sau đây là các bước để thay thế văn bản trong tài liệu Word dựa trên một biểu thức chính quy.

  • Tải tài liệu bằng lớp Tài liệu.
  • Tạo một đối tượng của lớp FindReplaceOptions.
  • Thay thế văn bản dựa trên biểu thức chính quy bằng phương thức Document.range.replaceregex (string, string, FindReplaceOptions).
  • Lưu tài liệu đã cập nhật bằng phương thức Document.save (string).

Mẫu mã sau đây cho biết cách thay thế văn bản trong tài liệu Word bằng biểu thức chính quy.

import aspose.words as aw

# tải tài liệu Word
doc = aw.Document("document.docx")

# thay thế văn bản bằng RegEx
options = aw.replacing.FindReplaceOptions()
doc.range.replace_regex("[s|m]ad", "bad", options)

# lưu tài liệu đã sửa đổi
doc.save("updated.docx")

Sau đây là ảnh chụp màn hình của tài liệu Word sau khi thay thế văn bản bằng RegEx.

Thay thế văn bản trong Word bằng Regex

Python: Thay thế văn bản trong tài liệu Word bằng Metacharacters

Trong một số trường hợp, một đoạn văn bản có thể bao gồm các đoạn văn, phần hoặc trang khác nhau. Để thay thế các cụm từ như vậy, bạn cần sử dụng các ký tự siêu sau.

  • & p để ngắt đoạn
  • & b để ngắt phần
  • & m để ngắt trang
  • & l để ngắt dòng

Mẫu mã sau đây cho thấy cách sử dụng siêu ký tự để tìm và thay thế văn bản trong tài liệu Word.

import aspose.words as aw

# tải tài liệu Word
doc = aw.Document("document.docx")

# tạo các tùy chọn
findReplaceOptions = aw.replacing.FindReplaceOptions()
findReplaceOptions.apply_paragraph_format.alignment = aw.ParagraphAlignment.CENTER

# nhân đôi mỗi ngắt đoạn sau từ "section", thêm loại gạch chân và căn giữa.
count = doc.range.replace("section&p", "section&p----------------------&p", findReplaceOptions)

# chèn ngắt phần thay vì thẻ văn bản tùy chỉnh.
count = doc.range.replace("insert-section", "&b", findReplaceOptions)

# lưu tài liệu đã sửa đổi
doc.save("updated.docx")

Đọc thêm về cách tìm và thay thế văn bản trong tài liệu Word bằng Python.

Nhận giấy phép API miễn phí

Bạn có thể xin giấy phép tạm thời để sử dụng Aspose. AdWords for Python mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách tìm và thay thế văn bản trong tài liệu Word bằng Python. Ngoài ra, bạn cũng đã thấy cách sử dụng RegEx và siêu ký tự để thay thế văn bản trong tài liệu Word. Bên cạnh đó, bạn có thể khám phá các tính năng khác do Aspose. AdWords dành cho Python cung cấp bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể đăng câu hỏi của mình trên diễn đàn của chúng tôi.

Xem thêm

Thông tin: Aspose gần đây đã phát triển dịch vụ Chuyển văn bản thành GIF trực tuyến miễn phí cho phép bạn tạo hoạt ảnh cho văn bản hoặc tạo ảnh GIF từ các văn bản đơn giản.