Dieser Artikel behandelt verschiedene Ansätze zum Suchen und Ersetzen von Text in Word Dokumenten mithilfe von C# in .NET oder .NET Core Anwendungen.

Suchen und Ersetzen ist eine sehr nützliche Funktion von MS Word, um den gewünschten Text in den Dokumenten schnell zu finden und zu ersetzen. Es wird praktischer und zeitsparender, wenn Sie mit längeren Dokumenten arbeiten. In Fällen, in denen Sie Text in Hunderten von Word Dokumenten suchen und ersetzen oder diesen Prozess automatisieren müssen, entscheiden Sie sich definitiv dafür, dies programmgesteuert zu tun. Daher zeige ich Ihnen in diesem Artikel, wie Sie Text in Word Dokumenten programmgesteuert in verschiedenen Szenarien mit C# suchen und ersetzen. Wenn Sie diesen Artikel gelesen haben, können Sie:

C# Bibliothek zum Suchen und Ersetzen von Text in einem Word Dokument

Erstellen Sie zunächst ein neues C# Projekt (Console, ASP.NET usw.) in Visual Studio und installieren Sie Aspose.Words for .NET über NuGet Package Manager oder Package Manager Console.

Installation über den NuGet Package Manager

Suchen und Ersetzen von Text in Word DOC

Installation über die Paket-Manager Konsole

PM> Install-Package Aspose.Words

Nachdem wir Aspose.Words for .NET installiert haben, beginnen wir nun mit dem Suchen und Ersetzen von Text im folgenden Word Dokument.

c# Suchen und Ersetzen von Text in Word Dokumenten

Suchen und Ersetzen von Text in Word Dokumenten in C#

Im Folgenden finden Sie die Schritte zum Suchen und Ersetzen eines bestimmten Texts in einem Word Dokument mit Aspose.Words for .NET.

Die Klasse FindReplaceOptions bietet verschiedene Optionen zum Anpassen der Suchen/Ersetzen-Vorgänge. Das folgende Codebeispiel zeigt, wie Sie ein bestimmtes Wort oder eine bestimmte Zeichenfolge in einem Word Dokument mit C# suchen und ersetzen.

// Laden Sie ein Word-docx-Dokument
Document doc = new Document("document.docx");
// Text im Dokument suchen und ersetzen
doc.Range.Replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.Forward));
// Speichern Sie das Word Dokument
doc.Save("Find-And-Replace-Text.docx");

Ausgabe

Suchen Sie Text in einem Word Dokument mit c#

Suchen und Ersetzen ähnlicher Wörter in Word Dokumenten mit C#

Sie können die API auch anpassen, um ähnliche Wörter zu finden und sie durch ein bestimmtes Wort zu ersetzen. Sie können beispielsweise die Wörter „traurig“ und „verrückt“ finden und sie durch ein einziges Wort ersetzen. Das folgende Codebeispiel zeigt, wie ähnliche Wörter in Word Dokumenten mithilfe von C# gesucht und ersetzt werden.

// Laden Sie ein Word-docx-Dokument
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.MatchCase = true; 
// Text im Dokument suchen und ersetzen
doc.Range.Replace(new Regex("[B|S|M]ad"), "[replaced]", options);
// Speichern Sie das Word Dokument
doc.Save("Find-And-Replace-Multiple-Words.docx");

Ausgabe

c# Text in docx Datei ersetzen

Suchen und Ersetzen von Text mit Regex in C#

Es kann vorkommen, dass Sie Text suchen und ersetzen möchten, der in einem bestimmten Muster erscheint. Beispielsweise müssen Sie alle Email-IDs in einem Word Dokument ausblenden/ersetzen. In solchen Fällen können Sie einen regulären Ausdruck für Email-IDs erstellen und an die Methode Document.Range.Replace(Regex, string, FindReplaceOptions) übergeben.

Das folgende Codebeispiel zeigt, wie Text basierend auf einem Muster in einem Word Dokument gesucht und ersetzt wird.

// Laden Sie ein Word-docx-Dokument
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.FindWholeWordsOnly = true; 
// Legen Sie reguläre Ausdrücke für Email-IDs fest 
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])?");
// Text im Dokument suchen und ersetzen
doc.Range.Replace(EmailRegex, "[replaced]", options);
// Speichern Sie das Word Dokument
doc.Save("Find-And-Replace-Text-Using-Regex.docx");

Ausgabe

So ersetzen Sie Text in einem Word Dokument

Mit der Klasse HeaderFooter können Sie auch Text in den Kopf oder Fußzeilenabschnitten eines Word Dokuments suchen und ersetzen. Dazu wird die Methode HeaderFooter.Range.Replace(string, string, FindReplaceOptions) verwendet. Das folgende Codebeispiel zeigt, wie Text in der Kopf-/Fußzeile eines Word Dokuments in C# ersetzt wird.

// Laden Sie ein Word Dokument
Document doc = new Document("document.docx");
// Greifen Sie auf die Kopf-/Fußzeile des Word Dokuments zu
HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
// Optionen festlegen
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Ersetzen Sie den Text in der Fußzeile des Word Dokuments
footer.Range.Replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// Speichern Sie das Word Dokument
doc.Save("Find-And-Replace-Text-in-Footer.docx");

Ausgabe

Word Dokument zum Suchen und Ersetzen von Text in C#.NET

Suchen und Ersetzen von Text durch Metazeichen in Word Dokumenten mit C#

Es könnte ein Szenario geben, in dem ein bestimmter Text oder Satz aus mehreren Absätzen, Abschnitten oder Seiten besteht. In solchen Fällen würde die einfache Suchen-und-Ersetzen methode nicht effektiv funktionieren und wir müssen uns um die Absatzumbrüche, Abschnittsumbrüche oder Seitenumbrüche kümmern. Dazu erlaubt Ihnen Aspose.Words die Verwendung der folgenden Metazeichen im Suchstring oder im Ersetzungsstring:

  • &p: Absatzumbruch
  • &b: Abschnittsumbruch
  • &m: Seitenumbruch
  • &l: Zeilenumbruch

Das folgende Codebeispiel zeigt, wie der Text in einem Word Dokument durch einen Absatzumbruch gesucht und ersetzt wird.

// Laden Sie ein Word-docx-Dokument
Document doc = new Document("document.docx"); 
// Optionen festlegen 
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Text durch Absatzumbruch ersetzen
doc.Range.Replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Speichern Sie das Word Dokument
doc.Save("Find-And-Replace-Text-Paragraph-Break.docx");

Ausgabe

Suchen und Ersetzen von Text mit regulären Ausdrücken C#

Fazit

Dieser Artikel behandelt einige nützliche Methoden zum programmgesteuerten Suchen und Ersetzen von Text in einem Word Dokument basierend auf übereinstimmenden oder ähnlichen Wörtern, Ausdrücken und Regex-Mustern. Diese Funktionen automatisieren nicht nur den Textersetzungsprozess, sondern ersparen Ihnen auch viel Zeit und Mühe beim manuellen Suchen und Ersetzen in Word Dokumenten. Sie können mehr über die Wortbibliothek von Aspose erfahren, indem Sie Dokumentation verwenden.

In Verbindung stehende Artikel

Tipp: Möglicherweise interessieren Sie sich für einen kostenlosen Text to GIF Converter, mit dem Sie Animationen aus Texten generieren können.