Suchen und Ersetzen von Text in Word C++

Suchen und Ersetzen ist eine nützliche Funktion von MS Word, mit der Sie alle Vorkommen eines bestimmten Textes auf einmal aktualisieren können. Somit müssen Sie den Text nicht im gesamten Dokument manuell suchen und ersetzen. In diesem Artikel erfahren Sie, wie Sie Text in Word Dokumenten aus C++ Anwendungen heraus suchen und ersetzen. Dies kann nützlich sein, wenn Sie einen bestimmten Text in mehreren Dokumenten auf einmal ersetzen müssen.

C++-API zum Suchen und Ersetzen von Text

Aspose.Words for C++ ist eine C++ Bibliothek zum Erstellen neuer und Bearbeiten vorhandener Word Dokumente. Die API unterstützt eine breite Palette grundlegender sowie erweiterter Word Automatisierungsfunktionen. Sie können das API-Paket herunterladen oder es mit NuGet installieren.

Install-Package Aspose.Words.Cpp

Suchen und Ersetzen von Text in Word Dokumenten mit C++

Im Folgenden finden Sie die Schritte zum Suchen und Ersetzen von Text in Word Dokumenten mit Aspose.Words for C++.

  • Laden Sie das Word Dokument mit der Klasse Document.
  • Ersetzen Sie das gewünschte Wort mit Document->getRange()->Replace(u"sad", u"bad", System::MakeObject ) Methode.
  • Speichern Sie das aktualisierte Word Dokument mit der methode Document->Save(String).

Das folgende Codebeispiel zeigt, wie Sie das Wort „traurig“ in einem Word Dokument mit C++ suchen und durch „schlecht“ ersetzen.

// MS Word Dokument laden
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Suchen und ersetzen Sie den Text
doc->get_Range()->Replace(u"sad", u"bad", System::MakeObject<FindReplaceOptions>(FindReplaceDirection::Forward));

// Speichern Sie das aktualisierte Dokument 
doc->Save(u"updated.doc");

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

Sie können auch reguläre Ausdrücke definieren, um die Wörter zu finden und zu ersetzen, die einem bestimmten Muster folgen. Beispielsweise können Sie die Wörter „traurig“ und „verrückt“ durch das Wort „schlecht“ ersetzen. Im Folgenden finden Sie die Schritte zum Suchen und Ersetzen von Wörtern, die einem regulären Ausdruck in einem Word Dokument entsprechen.

Das folgende Codebeispiel zeigt, wie Text mithilfe eines regulären Ausdrucks in C++ gesucht und ersetzt wird.

// MS Word Dokument laden
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Erstellen Sie Such und Ersetzungsoptionen
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Suchen und ersetzen Sie den Text
doc->get_Range()->Replace(System::MakeObject<System::Text::RegularExpressions::Regex>(u"[s|m]ad"), u"bad", options);

// Speichern Sie das aktualisierte Dokument 
doc->Save(u"updated.doc");

Suchen und Ersetzen von Text mit Meta-Zeichen

In bestimmten Fällen kann der Text, den Sie ersetzen möchten, Umbrüche enthalten, dh Zeilenumbruch, Absatzumbruch, Abschnittsumbruch usw. Um mit solchen Szenarien fertig zu werden, unterstützt Aspose.Words for C++ die folgenden Metazeichen in den Such und Ersetzungszeichenfolgen .

  • &p für einen Absatzumbruch
  • &b für Abschnittsumbruch
  • &m für Seitenumbruch
  • &l für einen manuellen Zeilenumbruch

Das folgende Codebeispiel zeigt, wie Text mithilfe von Metazeichen in einem Word Dokument gesucht und ersetzt wird.

// MS Word Dokument laden
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Erstellen Sie Such und Ersetzungsoptionen
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Suchen und ersetzen Sie den Text
doc->get_Range()->Replace(u"This is Line 1&pThis is Line 2", u"This is replaced line", options);
doc->get_Range()->Replace(u"This is Line 1&mThis is Line 2", u"Page break is replaced with new text.", options);

// Speichern Sie das aktualisierte Dokument 
doc->Save(u"updated.doc");

Ignorieren Sie Text während des Suchen-und-Ersetzen-Vorgangs

Aspose.Words for C++ ermöglicht es Ihnen auch, den Text in Feldern und die Revisionen während des Suchens und Ersetzens zu ignorieren. Mit der Klasse FindReplaceOptions können Sie die Optionen zum Hinzufügen dieser Anpassung angeben. Die FindReplaceOptions Klasse stellt die folgenden Methoden bereit, um Text in verschiedenen Szenarien zu ignorieren:

Das folgende Codebeispiel zeigt, wie Text in jedem der oben genannten Szenarien ignoriert wird.

// MS Word Dokument laden
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Erstellen Sie Such und Ersetzungsoptionen
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Ersetzen Sie 'e' im Dokument und ignorieren Sie den Text im Feld
options->set_IgnoreFields(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Ersetzen Sie 'e' im Dokument und ignorieren Sie gelöschten Text
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Ersetzen Sie 'e' im Dokument und ignorieren Sie den eingefügten Text
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Speichern Sie das aktualisierte Dokument 
doc->Save(u"updated.doc");

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben Sie gesehen, wie Sie mit C++ Text in Word Dokumenten suchen und ersetzen. Die Schritt-für-Schritt-Anleitung und die Codebeispiele haben gezeigt, wie die Funktion „Suchen und Ersetzen“ in verschiedenen Szenarien angepasst werden kann. Weitere Informationen zur C++-Word Automatisierungs-API finden Sie unter Dokumentation.

Siehe auch