Bài viết này đề cập đến nhiều cách tiếp cận khác nhau để tìm và thay thế văn bản trong tài liệu Word bằng C# trong các ứng dụng .NET hoặc .NET Core.

Tìm và Thay thế là một tính năng khá hữu ích của MS Word để nhanh chóng định vị và thay thế văn bản mong muốn trong tài liệu. Nó trở nên tiện dụng và tiết kiệm thời gian hơn khi bạn làm việc với các tài liệu dài hơn. Trong trường hợp bạn cần tìm và thay thế văn bản trong hàng trăm tài liệu Word hoặc bạn cần tự động hóa quy trình này, chắc chắn bạn sẽ chọn thực hiện theo chương trình. Vì vậy, trong bài viết này, tôi sẽ chỉ cho bạn cách tìm và thay thế văn bản trong tài liệu Word theo cách lập trình trong các tình huống khác nhau bằng C#. Một khi bạn đã đọc bài viết này, bạn sẽ có thể:

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

Trước hết, hãy tạo một dự án C# mới (Bảng điều khiển, ASP.NET, v.v.) trong Visual Studio và cài đặt Aspose.Words for .NET thông qua Trình quản lý gói NuGet hoặc Bảng điều khiển quản lý gói.

Cài đặt qua Trình quản lý gói NuGet

Tìm và thay thế văn bản trong Word DOC

Cài đặt qua Bảng điều khiển quản lý gói

PM> Install-Package Aspose.Words

Sau khi chúng tôi đã cài đặt Aspose.Words for .NET, bây giờ chúng ta hãy bắt đầu tìm và thay thế văn bản trong tài liệu Word sau đây.

c# tìm và thay thế văn bản trong tài liệu word

Tìm và thay thế văn bản trong tài liệu Word trong C#

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

Lớp FindReplaceOptions cung cấp các tùy chọn khác nhau để tùy chỉnh các thao tác tìm/thay thế. Mẫu mã sau đây cho biết cách tìm và thay thế một từ hoặc chuỗi cụ thể trong tài liệu Word bằng C#.

// Tải tài liệu Word docx
Document doc = new Document("document.docx");
// Tìm và thay thế văn bản trong tài liệu
doc.Range.Replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.Forward));
// Lưu tài liệu Word
doc.Save("Find-And-Replace-Text.docx");

đầu ra

tìm văn bản trong tài liệu word bằng c#

Tìm và thay thế các từ tương tự trong tài liệu Word bằng C#

Bạn cũng có thể tùy chỉnh API để tìm các từ tương tự và thay thế chúng bằng một từ cụ thể. Ví dụ: bạn có thể tìm các từ “sad” và “mad” và thay thế chúng bằng một từ duy nhất. Mẫu mã sau đây cho biết cách tìm và thay thế các từ tương tự trong tài liệu Word bằng C#.

// Tải tài liệu Word docx
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.MatchCase = true; 
// Tìm và thay thế văn bản trong tài liệu
doc.Range.Replace(new Regex("[B|S|M]ad"), "[replaced]", options);
// Lưu tài liệu Word
doc.Save("Find-And-Replace-Multiple-Words.docx");

đầu ra

c# thay thế văn bản trong tệp docx

Tìm và thay thế văn bản bằng Regex trong C#

Có thể xảy ra trường hợp bạn muốn tìm và thay thế văn bản xuất hiện trong một mẫu cụ thể. Ví dụ: bạn cần ẩn/thay thế tất cả ID email trong tài liệu Word. Trong những trường hợp như vậy, bạn có thể tạo một biểu thức chính quy cho ID email và chuyển nó vào phương thức Document.Range.Replace(Regex, string, FindReplaceOptions).

Mẫu mã sau đây cho biết cách tìm và thay thế văn bản dựa trên mẫu trong tài liệu Word.

// Tải tài liệu Word docx
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.FindWholeWordsOnly = true; 
// Đặt biểu thức chính quy cho ID email 
Regex EmailRegex = new Regex(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
// Tìm và thay thế văn bản trong tài liệu
doc.Range.Replace(EmailRegex, "[replaced]", options);
// Lưu tài liệu Word
doc.Save("Find-And-Replace-Text-Using-Regex.docx");

đầu ra

cách thay thế văn bản trong tài liệu word

Bạn cũng có thể tìm và thay thế văn bản trong phần đầu trang hoặc chân trang của tài liệu Word bằng lớp HeaderFooter. Phương thức HeaderFooter.Range.Replace(string, string, FindReplaceOptions) được sử dụng cho mục đích này. Mẫu mã sau đây cho biết cách thay thế văn bản trong đầu trang/cuối trang của tài liệu Word trong C#.

// Tải tài liệu Word
Document doc = new Document("document.docx");
// Truy cập đầu trang/chân trang của tài liệu Word
HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
// Đặt tùy chọn
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Thay thế văn bản ở cuối trang của tài liệu Word
footer.Range.Replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// Lưu tài liệu Word
doc.Save("Find-And-Replace-Text-in-Footer.docx");

đầu ra

Tài liệu Word Tìm và Thay thế Văn bản trong C#.NET

Tìm và thay thế văn bản bằng siêu ký tự trong tài liệu Word bằng C#

Có thể xảy ra tình huống trong đó một văn bản hoặc cụm từ cụ thể bao gồm nhiều đoạn văn, phần hoặc trang. Trong những trường hợp như vậy, phương pháp tìm và thay thế đơn giản sẽ không hoạt động hiệu quả và chúng tôi sẽ phải xử lý các ngắt đoạn, ngắt phần hoặc ngắt trang. Đối với điều này, Aspose.Words cho phép bạn sử dụng các siêu ký tự sau trong chuỗi tìm kiếm hoặc chuỗi thay thế:

  • &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 biết cách tìm và thay thế văn bản bằng dấu ngắt đoạn trong tài liệu Word.

// Tải tài liệu Word docx
Document doc = new Document("document.docx"); 
// Đặt tùy chọn 
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Thay thế văn bản bằng ngắt đoạn
doc.Range.Replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Lưu tài liệu Word
doc.Save("Find-And-Replace-Text-Paragraph-Break.docx");

đầu ra

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

Sự kết luận

Bài viết này đề cập đến một số cách hữu ích để tìm và thay thế văn bản trong tài liệu Word dựa trên các từ, cụm từ và mẫu biểu thức chính quy phù hợp hoặc tương tự theo chương trình. Các tính năng này không chỉ tự động hóa quy trình thay thế văn bản mà còn giúp bạn tiết kiệm rất nhiều thời gian và công sức cần thiết trong thao tác tìm và thay thế thủ công trong tài liệu Word. Bạn có thể tìm hiểu thêm về Thư viện Word của Aspose bằng cách sử dụng tài liệu.

Những bài viết liên quan)

Mẹo: Bạn có thể quan tâm đến Chuyển đổi văn bản thành GIF miễn phí cho phép bạn tạo hoạt ảnh từ văn bản.