znajdź i zamień tekst w programie Word C++

Znajdź i zamień to przydatna funkcja programu MS Word, która umożliwia jednoczesne aktualizowanie wszystkich wystąpień określonego tekstu. Dzięki temu nie musisz ręcznie lokalizować i zastępować tekstu w całym dokumencie. W tym artykule dowiesz się, jak znaleźć i zamienić tekst w dokumentach Word z poziomu aplikacji C++. Może to być przydatne, gdy trzeba zastąpić określony tekst w wielu dokumentach za jednym razem.

C++ API do znajdowania i zastępowania tekstu

Aspose.Words for C++ to biblioteka C++ do tworzenia nowych i manipulowania istniejącymi dokumentami Worda. Interfejs API obsługuje szeroki zakres podstawowych i zaawansowanych funkcji automatyzacji programu Word. Możesz pobrać pakiet API lub zainstalować go za pomocą NuGet.

Install-Package Aspose.Words.Cpp

Znajdź i zamień tekst w dokumentach programu Word przy użyciu języka C++

Poniżej przedstawiono kroki, aby znaleźć i zamienić tekst w dokumentach programu Word przy użyciu Aspose.Words dla języka C++.

  • Załaduj dokument programu Word, używając klasy Document.
  • Zastąp żądane słowo za pomocą Document->getRange()->Replace(u"sad", u"bad", System::MakeObject ) metoda.
  • Zapisz zaktualizowany dokument programu Word za pomocą metody Document->Save(String).

Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić wyraz „smutny” na „zły” w dokumencie programu Word przy użyciu języka C++.

// Załaduj dokument MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Znajdź i zamień tekst
doc->get_Range()->Replace(u"sad", u"bad", System::MakeObject<FindReplaceOptions>(FindReplaceDirection::Forward));

// Zapisz zaktualizowany dokument 
doc->Save(u"updated.doc");

Znajdź i zamień tekst za pomocą wyrażeń regularnych

Możesz także zdefiniować wyrażenia regularne, aby znaleźć i zamienić słowa zgodne z określonym wzorcem. Na przykład możesz zastąpić słowa „smutny” i „szalony” słowem „zły”. Poniżej przedstawiono kroki, aby znaleźć i zamienić słowa pasujące do wyrażenia regularnego w dokumencie programu Word.

Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić tekst przy użyciu wyrażenia regularnego w języku C++.

// Załaduj dokument MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Utwórz opcje znajdowania i zastępowania
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Znajdź i zamień tekst
doc->get_Range()->Replace(System::MakeObject<System::Text::RegularExpressions::Regex>(u"[s|m]ad"), u"bad", options);

// Zapisz zaktualizowany dokument 
doc->Save(u"updated.doc");

Znajdź i zamień tekst za pomocą metaznaków

W niektórych przypadkach tekst, który chcesz zastąpić, może zawierać podziały, tj. podział linii, podział akapitu, podział sekcji itp. Aby poradzić sobie z takimi scenariuszami, Aspose.Words for C++ obsługuje następujące metaznaki w ciągach wyszukiwania i zastępowania .

  • &p dla podziału akapitu
  • &b dla podziału sekcji
  • &m dla podziału strony
  • &l dla ręcznego podziału wiersza

Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić tekst przy użyciu metaznaków w dokumencie programu Word.

// Załaduj dokument MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Utwórz opcje znajdowania i zastępowania
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Znajdź i zamień tekst
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);

// Zapisz zaktualizowany dokument 
doc->Save(u"updated.doc");

Ignoruj tekst podczas operacji Znajdź i zamień

Aspose.Words for C++ pozwala również ignorować tekst w polach i poprawki podczas operacji znajdowania i zastępowania. Klasa FindReplaceOptions umożliwia określenie opcji dodania tego dostosowania. Klasa FindReplaceOptions zapewnia następujące metody ignorowania tekstu w różnych scenariuszach:

Poniższy przykładowy kod pokazuje, jak ignorować tekst w każdym z wyżej wymienionych scenariuszy.

// Załaduj dokument MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Utwórz opcje znajdowania i zastępowania
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Zastąp „e” w dokumencie, ignorując tekst w polu
options->set_IgnoreFields(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Zastąp „e” w dokumencie, ignorując usunięty tekst
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Zastąp „e” w dokumencie, ignorując wstawiony tekst
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Zapisz zaktualizowany dokument 
doc->Save(u"updated.doc");

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować interfejs API bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiesz się, jak znaleźć i zamienić tekst w dokumentach programu Word przy użyciu języka C++. Przewodnik krok po kroku i przykłady kodu pokazują, jak dostosować funkcję Znajdź i zamień w różnych scenariuszach. Możesz dowiedzieć się więcej o interfejsie API automatyzacji C++ Word, korzystając z documentation.

Zobacz też