temukan dan ganti teks di Word C++

Temukan dan ganti adalah fitur berguna yang disediakan oleh MS Word yang memungkinkan Anda memperbarui semua kemunculan teks tertentu sekaligus. Dengan demikian, Anda tidak perlu mencari dan mengganti teks di seluruh dokumen secara manual. Pada artikel ini, Anda akan mempelajari cara menemukan dan mengganti teks dalam dokumen Word dari dalam aplikasi C++. Ini bisa berguna saat Anda perlu mengganti teks tertentu di sejumlah dokumen sekaligus.

C++ API untuk Menemukan dan Mengganti Teks

Aspose.Words for C++ adalah pustaka C++ untuk membuat dan memanipulasi dokumen Word yang sudah ada. API mendukung berbagai fitur otomatisasi Word dasar dan lanjutan. Anda dapat mengunduh paket API atau menginstalnya menggunakan NuGet.

Install-Package Aspose.Words.Cpp

Temukan dan Ganti Teks dalam Dokumen Word menggunakan C++

Berikut langkah-langkah mencari dan mengganti teks pada dokumen Word menggunakan Aspose.Words for C++.

  • Muat dokumen Word menggunakan kelas Document.
  • Ganti kata yang diinginkan menggunakan Document->getRange()->Replace(u"sad", u"bad", System::MakeObject ) metode.
  • Simpan dokumen Word yang diperbarui menggunakan metode Document->Save(String).

Contoh kode berikut menunjukkan cara menemukan dan mengganti kata “sedih” dengan “buruk” dalam dokumen Word menggunakan C++.

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

// Temukan dan ganti teks
doc->get_Range()->Replace(u"sad", u"bad", System::MakeObject<FindReplaceOptions>(FindReplaceDirection::Forward));

// Simpan dokumen yang diperbarui 
doc->Save(u"updated.doc");

Temukan dan Ganti Teks menggunakan Ekspresi Reguler

Anda juga dapat menentukan ekspresi reguler untuk menemukan dan mengganti kata yang mengikuti pola tertentu. Misalnya, Anda bisa mengganti kata “sedih” dan “gila” dengan kata “buruk”. Berikut ini adalah langkah-langkah untuk menemukan dan mengganti kata yang cocok dengan ekspresi reguler dalam dokumen Word.

Contoh kode berikut menunjukkan cara menemukan dan mengganti teks menggunakan ekspresi reguler di C++.

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

// Buat opsi temukan dan ganti
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Temukan dan ganti teks
doc->get_Range()->Replace(System::MakeObject<System::Text::RegularExpressions::Regex>(u"[s|m]ad"), u"bad", options);

// Simpan dokumen yang diperbarui 
doc->Save(u"updated.doc");

Temukan dan Ganti Teks menggunakan Meta-Karakter

Dalam kasus tertentu, teks yang ingin Anda ganti dapat menyertakan jeda yaitu jeda baris, jeda paragraf, jeda bagian, dll. Untuk menangani skenario seperti itu, Aspose.Words for C++ mendukung karakter meta berikut dalam string pencarian dan penggantian .

  • & p untuk jeda paragraf
  • & b untuk jeda bagian
  • & m untuk istirahat halaman
  • &l untuk jeda baris manual

Contoh kode berikut menunjukkan cara menemukan dan mengganti teks menggunakan karakter meta dalam dokumen Word.

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

// Buat opsi temukan dan ganti
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Temukan dan ganti teks
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);

// Simpan dokumen yang diperbarui 
doc->Save(u"updated.doc");

Abaikan Teks selama Operasi Temukan dan Ganti

Aspose.Words for C++ juga memungkinkan Anda mengabaikan teks di dalam bidang dan revisi selama operasi temukan dan ganti. Kelas FindReplaceOptions memungkinkan Anda menentukan opsi untuk menambahkan penyesuaian ini. Kelas FindReplaceOptions menyediakan metode berikut untuk mengabaikan teks dalam berbagai skenario:

Contoh kode berikut menunjukkan cara mengabaikan teks di setiap skenario yang disebutkan di atas.

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

// Buat opsi temukan dan ganti
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// Ganti 'e' dalam dokumen dengan mengabaikan teks di dalam bidang
options->set_IgnoreFields(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Ganti 'e' dalam dokumen dengan mengabaikan teks yang dihapus
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Ganti 'e' dalam dokumen dengan mengabaikan teks yang disisipkan
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// Simpan dokumen yang diperbarui 
doc->Save(u"updated.doc");

Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba API tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah melihat cara menemukan dan mengganti teks dalam dokumen Word menggunakan C++. Panduan langkah demi langkah dan contoh kode telah menunjukkan cara menyesuaikan fitur temukan dan ganti dalam berbagai skenario. Anda dapat mempelajari lebih lanjut tentang C++ Word automation API menggunakan dokumentasi.

Lihat juga