Tìm và thay thế

Bạn có thể dễ dàng điều hướng trong tài liệu của mình bằng bàn phím và chuột, nhưng nếu bạn có nhiều trang để cuộn qua, sẽ mất khá nhiều thời gian để tìm thấy văn bản cụ thể trong một tài liệu dài. Sẽ tốn nhiều thời gian hơn khi bạn muốn thay thế một số ký tự hoặc từ nào đó mà bạn đã sử dụng trong tài liệu của mình. Chức năng “Tìm và thay thế” cho phép bạn tìm một chuỗi ký tự trong tài liệu và thay thế nó bằng một chuỗi ký tự khác.

Aspose.Words cho phép bạn tìm một chuỗi hoặc mẫu biểu thức chính quy cụ thể trong tài liệu của mình và thay thế nó bằng một chuỗi thay thế mà không cần cài đặt và sử dụng các ứng dụng bổ sung như Microsoft Word. Điều này sẽ tăng tốc nhiều tác vụ đánh máy và định dạng, có khả năng giúp bạn tiết kiệm hàng giờ làm việc.

Bài viết này giải thích cách áp dụng thay thế chuỗi và biểu thức chính quy với sự hỗ trợ của siêu ký tự.

Các cách tìm và thay thế

Aspose.Words cung cấp hai cách để áp dụng thao tác tìm và thay thế bằng cách sử dụng như sau:

  1. Thay thế chuỗi đơn giản – để tìm và thay thế một chuỗi cụ thể bằng một chuỗi khác, bạn cần chỉ định chuỗi tìm kiếm (ký tự chữ và số) sẽ được thay thế theo tất cả các lần xuất hiện bằng một chuỗi thay thế được chỉ định khác. Cả hai chuỗi không được chứa ký hiệu. Hãy lưu ý rằng so sánh chuỗi có thể phân biệt chữ hoa chữ thường hoặc bạn có thể không chắc chắn về chính tả hoặc có một số cách viết tương tự.
  2. Biểu thức chính quy – để chỉ định một biểu thức chính quy nhằm tìm chuỗi khớp chính xác và thay thế chúng theo biểu thức chính quy của bạn. Lưu ý rằng một từ được định nghĩa là chỉ được tạo thành từ các ký tự chữ và số. Nếu việc thay thế được thực hiện chỉ với toàn bộ các từ được khớp và chuỗi đầu vào chứa các ký hiệu thì sẽ không tìm thấy cụm từ nào.

Ngoài ra, bạn có thể sử dụng các siêu ký tự đặc biệt với tính năng thay thế chuỗi đơn giản và các biểu thức thông thường để chỉ định dấu ngắt trong thao tác tìm và thay thế.

Aspose.Words trình bày chức năng tìm và thay thế bằng mô-đun aspose.words.replacing. Bạn có thể làm việc với nhiều tùy chọn trong quá trình tìm và thay thế bằng cách sử dụng lớp FindReplaceOptions.

Tìm và thay thế văn bản bằng {#find-and-replace-text-using-simple-string-replacement} thay thế chuỗi đơn giản

Bạn có thể sử dụng một trong các phương thức replacereplace_regex để tìm hoặc thay thế một chuỗi cụ thể và trả về số lượng thay thế đã được thực hiện. Trong trường hợp này, bạn có thể chỉ định một chuỗi cần thay thế, một chuỗi sẽ thay thế tất cả các lần xuất hiện của nó, liệu việc thay thế có phân biệt chữ hoa chữ thường hay không và liệu chỉ các từ độc lập sẽ bị ảnh hưởng hay không.

Ví dụ về mã sau đây cho thấy cách tìm chuỗi “CustomerName” và thay thế nó bằng chuỗi “James Bond”:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.writeln("Hello _CustomerName_,")
print("Original document text: " + doc.range.text)

doc.range.replace("_CustomerName_", "James Bond", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

print("Document text after replace: " + doc.range.text)

# Save the modified document
doc.save(docs_base.artifacts_dir + "FindAndReplace.simple_find_replace.docx")

Bạn có thể nhận thấy sự khác biệt giữa tài liệu trước khi áp dụng thay thế chuỗi đơn giản:

trước khi thay thế chuỗi đơn giản

Và sau khi áp dụng thay thế chuỗi đơn giản:

sau khi thay thế chuỗi đơn giản

Tìm và thay thế văn bản bằng biểu thức chính quy

Biểu thức chính quy là một mẫu mô tả một chuỗi văn bản nhất định. Giả sử bạn muốn thay thế tất cả các lần xuất hiện kép của một từ bằng một lần xuất hiện của một từ. Sau đó, bạn có thể áp dụng biểu thức chính quy sau để chỉ định mẫu từ kép: ([a-zA-Z]+) \1.

Sử dụng phương pháp replace_regex để tìm kiếm và thay thế các tổ hợp ký tự cụ thể bằng cách đặt tham số biểu thức chính quy làm mẫu để tìm kết quả khớp.

Ví dụ về mã sau đây cho thấy cách thay thế các chuỗi khớp với mẫu biểu thức chính quy bằng chuỗi thay thế được chỉ định:

Bạn có thể nhận thấy sự khác biệt giữa tài liệu trước khi áp dụng thay thế chuỗi bằng biểu thức chính quy:

before-thay thế-với biểu thức chính

Và sau khi áp dụng thay thế chuỗi bằng biểu thức chính quy:

sau khi thay thế bằng biểu thức chính

Tìm và thay thế chuỗi bằng Metacharacters

Bạn có thể sử dụng siêu ký tự trong chuỗi tìm kiếm hoặc chuỗi thay thế nếu một văn bản hoặc cụm từ cụ thể bao gồm nhiều đoạn, phần hoặc trang. Một số siêu ký tự bao gồm &P cho dấu ngắt đoạn, &b cho dấu ngắt phần, &m cho dấu ngắt trang và &l cho dấu ngắt dòng.

Ví dụ mã sau đây cho biết cách thay thế văn bản bằng ngắt đoạn và ngắt trang:

Bạn có thể tìm và thay thế văn bản trong phần đầu trang/chân trang của tài liệu Word bằng lớp HeaderFooter.

Ví dụ về mã sau đây cho biết cách thay thế văn bản của phần tiêu đề trong tài liệu của bạn:

Bạn có thể nhận thấy sự khác biệt giữa tài liệu trước khi áp dụng thay thế chuỗi tiêu đề:

trước khi áp dụng-tiêu đề-chuỗi-thay thế

Và sau khi áp dụng thay thế chuỗi tiêu đề:

sau khi áp dụng-tiêu đề-chuỗi-thay thế

Ví dụ về mã để thay thế văn bản của phần chân trang trong tài liệu của bạn rất giống với ví dụ về mã tiêu đề trước đó. Tất cả những gì bạn cần làm là thay thế hai dòng sau:

header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.HEADER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)

Với những điều sau đây:

header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)

Bạn có thể nhận thấy sự khác biệt giữa tài liệu trước khi áp dụng thay thế chuỗi chân trang:

trước khi áp dụng-chân-chuỗi-thay thế

Và sau khi áp dụng thay thế chuỗi chân trang:

sau khi áp dụng-chân-chuỗi-thay thế

Bỏ qua văn bản trong khi tìm và thay thế

Trong khi áp dụng thao tác tìm và thay thế, bạn có thể bỏ qua một số đoạn văn bản nhất định. Vì vậy, một số phần nhất định của văn bản có thể bị loại khỏi tìm kiếm và tính năng tìm và thay thế chỉ có thể được áp dụng cho các phần còn lại.

Aspose.Words cung cấp nhiều thuộc tính tìm và thay thế để bỏ qua văn bản như ignore_deleted, ignore_fieldsignore_inserted.

Ví dụ mã sau đây cho thấy cách bỏ qua văn bản bên trong các bản sửa đổi xóa:

Tùy chỉnh thao tác Tìm và Thay thế

Aspose.Words cung cấp nhiều thuộc tính khác nhau để tìm và thay thế văn bản, chẳng hạn như áp dụng định dạng cụ thể với thuộc tính apply_fontapply_paragraph_formats, sử dụng các thay thế trong các mẫu thay thế bằng thuộc tính use_substitutions và các thuộc tính khác.

Ví dụ về mã sau đây cho biết cách đánh dấu một từ cụ thể trong tài liệu của bạn: