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
- Najít a nahradit text v dokumentech aplikace Word
- K vyhledání a nahrazení textu použijte regulární výrazy
- Nahraďte text pomocí metaznaků
- Ignorujte text během operace Najít a nahradit
- Získejte bezplatnou licenci
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.
- Načtěte dokument aplikace Word pomocí třídy Document.
- K definování regulárního výrazu použijte třídu Regex.
- Nahraďte požadované slovo pomocí Document->getRange()->Replace(System::MakeObjectSystem::Text::RegularExpressions::Regex , u “špatné”, možnosti) 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 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:
- setIgnoreFields(bool) - Ignores text inside the fields
- setIgnoreDeleted(bool) - Ignores text inside the delete revisions
- setIgnoreInserted(bool) - Ignores text inside the insert revisions
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.