najít a nahradit text ve Wordu C++

Najít a nahradit je užitečná funkce poskytovaná aplikací MS Word, která umožňuje aktualizovat všechny výskyty určitého textu najednou. Nemusíte tedy ručně vyhledávat a nahrazovat text v celém dokumentu. V tomto článku se dozvíte, jak najít a nahradit text v dokumentech aplikace Word z aplikací C++. To může být užitečné, když potřebujete nahradit určitý text v několika dokumentech najednou.

C++ API pro vyhledání a nahrazení textu

Aspose.Words for C++ je knihovna C++ pro vytváření nových a manipulaci se stávajícími dokumenty Wordu. Rozhraní API podporuje širokou škálu základních i pokročilých funkcí automatizace aplikace Word. Balíček API si můžete stáhnout nebo jej nainstalovat pomocí NuGet.

Install-Package Aspose.Words.Cpp

Najít a nahradit text v dokumentech Word pomocí C++

Následují kroky k vyhledání a nahrazení textu v dokumentech aplikace Word pomocí Aspose.Words for C++.

  • Načtěte dokument aplikace Word pomocí třídy Document.
  • Nahraďte požadované slovo pomocí Document->getRange()->Replace(u"sad", u"bad", System::MakeObject ) metoda.
  • Uložte aktualizovaný dokument aplikace Word pomocí metody Document->Save(String).

Následující ukázka kódu ukazuje, jak najít a nahradit slovo “smutný” slovem “špatný” v dokumentu aplikace Word pomocí C++.

// Načtěte dokument MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Najděte a nahraďte text
doc->get_Range()->Replace(u"sad", u"bad", System::MakeObject<FindReplaceOptions>(FindReplaceDirection::Forward));

// Uložte aktualizovaný dokument 
doc->Save(u"updated.doc");

Najít a nahradit text pomocí regulárních výrazů

Můžete také definovat regulární výrazy, abyste našli a nahradili slova, která se řídí určitým vzorem. Slova „smutný“ a „šílený“ můžete například nahradit slovem „špatný“. Následují kroky k vyhledání a nahrazení slov odpovídajících regulárnímu výrazu v dokumentu aplikace Word.

Následující ukázka kódu ukazuje, jak najít a nahradit text pomocí regulárního výrazu v C++.

// Načtěte dokument MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Vytvořte možnosti hledání a nahrazení
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Najděte a nahraďte text
doc->get_Range()->Replace(System::MakeObject<System::Text::RegularExpressions::Regex>(u"[s|m]ad"), u"bad", options);

// Uložte aktualizovaný dokument 
doc->Save(u"updated.doc");

Najít a nahradit text pomocí metaznaků

V určitých případech může text, který chcete nahradit, obsahovat zalomení, např. zalomení řádku, zalomení odstavce, zalomení oddílu atd. Aby bylo možné se s takovými scénáři vypořádat, Aspose.Words for C++ podporuje následující meta znaky ve vyhledávacích a nahrazovacích řetězcích .

  • &p pro zalomení odstavce
  • &b pro konec sekce
  • &m pro konec stránky
  • &l pro ruční zalomení řádku

Následující ukázka kódu ukazuje, jak najít a nahradit text pomocí metaznaků v dokumentu aplikace Word.

// Načtěte dokument MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Vytvořte možnosti hledání a nahrazení
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Najděte a nahraďte 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);

// Uložte aktualizovaný dokument 
doc->Save(u"updated.doc");

Ignorujte text během operace Najít a nahradit

Aspose.Words for C++ také umožňuje ignorovat text v polích a revize během operace hledání a nahrazení. Třída FindReplaceOptions vám umožňuje zadat možnosti přidání tohoto přizpůsobení. Třída FindReplaceOptions poskytuje následující metody pro ignorování textu v různých scénářích:

Následující ukázka kódu ukazuje, jak ignorovat text v každém z výše uvedených scénářů.

// Načtěte dokument MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// Vytvořte možnosti hledání a nahrazení
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Nahraďte 'e' v dokumentu ignorováním textu uvnitř pole
options->set_IgnoreFields(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Nahraďte 'e' v dokumentu ignorováním smazaného textu
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Nahraďte 'e' v dokumentu ignorováním vloženého textu
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Uložte aktualizovaný dokument 
doc->Save(u"updated.doc");

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci, abyste mohli vyzkoušet API bez omezení hodnocení.

Závěr

V tomto článku jste viděli, jak najít a nahradit text v dokumentech aplikace Word pomocí C++. Průvodce krok za krokem a ukázky kódu ukázaly, jak přizpůsobit funkci najít a nahradit v různých scénářích. Více o automatizačním rozhraní C++ Word můžete prozkoumat pomocí dokumentace.

Viz také