This article covers various approaches to find and replace text in Word documents using C# in .NET or .NET Core applications.

Find and Replace is quite a useful feature of MS Word to quickly locate and replace the desired text in the documents. It becomes more handy and time-saving when you are working with longer documents. In cases when you need to find and replace text in hundreds of Word documents or you need to automate this process, you’ll definitely opt to do it programmatically. So in this article, I’ll show you how to find and replace text in Word documents programmatically in different scenarios using C#. Once you have read this article, you will be able to:

C# Library to Find and Replace Text in a Word Document

First of all, create a new C# project (Console, ASP.NET, etc.) in Visual Studio and install Aspose.Words for .NET via NuGet Package Manager or Package Manager Console.

Installing via NuGet Package Manager

Finding and replacing text in Word DOC

Installing via Package Manager Console

PM> Install-Package Aspose.Words

After we have installed Aspose.Words for .NET, let’s now begin finding and replacing text in the following Word document.

c# find and replace text in word document

Find and Replace Text in Word Documents in C#

The following are the steps to find and replace a particular text in a Word document using Aspose.Words for .NET.

The FindReplaceOptions class provides various options to customize the find/replace operations. The following code sample shows how to find and replace a particular word or string in a Word document using C#.

Output

find text in word document using c#

Find and Replace Similar Words in Word Documents using C#

You can also customize the API to find similar words and replace them with a particular word. For example, you can find the words “sad” and “mad” and replace them with a single word. The following code sample shows how to find and replace similar words in Word document using C#.

Output

c# replace text in docx file

Find and Replace Text using Regex in C#

There might be the case when you want to find and replace text that appears in a particular pattern. For example, you need to hide/replace all the email IDs in a Word document. In such cases, you can create a regular expression for email IDs and pass it to Document.Range.Replace(Regex, string, FindReplaceOptions) method.

The following code sample shows how to find and replace text based on a pattern in Word document.

Output

how to replace text in word document

You can also find and replace text in the header or footer sections of a Word document using the HeaderFooter class. The HeaderFooter.Range.Replace(string, string, FindReplaceOptions) method is used for this purpose. The following code sample shows how to replace text in the header/footer of Word document in C#.

Output

Word Document Finding and Replacing Text in C#.NET

Find and Replace Text with Meta-Characters in Word Documents using C#

There could be a scenario where a particular text or phrase is composed of multiple paragraphs, sections, or pages. In such cases, the simple find and replace method wouldn’t work effectively and we’ll have to handle the paragraphs breaks, section breaks, or page breaks. For this, Aspose.Words allows you to use the following meta-characters in the search string or the replacement string:

  • &p: paragraph break
  • &b: section break
  • &m: page break
  • &l: line break

The following code sample shows how to find and replace the text with a paragraph break in a Word document.

Output

find and replace text using regular expression C#

Conclusion

This article covers some useful ways to find and replace text in a Word document based on matched or similar words, phrases, and regex patterns programmatically. These features not only automate the text replacement process but save you a lot of time and effort required in manual find and replace operation in Word documents. You can learn more about Aspose’s Word Library using documentation.

Tip: You may be interested in a free Text to GIF Converter that allows you to generate animations from texts.