البحث عن نص واستبداله في Word C ++

يعد البحث والاستبدال ميزة مفيدة يوفرها برنامج MS Word والتي تتيح لك تحديث جميع تكرارات نص معين في وقت واحد. وبالتالي ، لا يتعين عليك تحديد موقع النص واستبداله في المستند بأكمله يدويًا. في هذه المقالة ، ستتعلم كيفية البحث عن نص واستبداله في مستندات Word من داخل تطبيقات C ++. قد يكون هذا مفيدًا عندما تحتاج إلى استبدال نص معين في عدد من المستندات دفعة واحدة.

C ++ API للبحث عن النص واستبداله

Aspose.Words for C ++ هي مكتبة C ++ لإنشاء مستندات Word جديدة ومعالجة موجودة. تدعم واجهة برمجة التطبيقات مجموعة واسعة من ميزات أتمتة Word الأساسية والمتقدمة. يمكنك تنزيل حزمة API أو تثبيتها باستخدام NuGet.

Install-Package Aspose.Words.Cpp

البحث عن نص واستبداله في مستندات Word باستخدام C ++

فيما يلي خطوات البحث عن نص واستبداله في مستندات Word باستخدام Aspose.Words for C ++.

  • قم بتحميل مستند Word باستخدام فئة المستند.
  • استبدل الكلمة المطلوبة باستخدام Document-> getRange() -> استبدال (u “sad”، u “bad”، System :: MakeObject ) طريقة.
  • احفظ مستند Word المحدث باستخدام طريقة Document-> Save(String).

يُظهر نموذج التعليمات البرمجية التالي كيفية البحث عن كلمة “sad” بكلمة “bad” واستبدالها في مستند Word باستخدام C ++.

// تحميل مستند MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// ابحث عن النص واستبدله
doc->get_Range()->Replace(u"sad", u"bad", System::MakeObject<FindReplaceOptions>(FindReplaceDirection::Forward));

// احفظ المستند المحدث 
doc->Save(u"updated.doc");

البحث عن نص واستبداله باستخدام التعبيرات العادية

يمكنك أيضًا تحديد التعبيرات النمطية من أجل البحث عن الكلمات التي تتبع نمطًا معينًا واستبدالها. على سبيل المثال ، يمكنك استبدال الكلمتين “حزين” و “مجنون” بكلمة “سيئة”. فيما يلي خطوات البحث عن الكلمات المطابقة للتعبير العادي في مستند Word واستبدالها.

  • قم بتحميل مستند Word باستخدام فئة Document.
  • استخدم فئة Regex لتعريف regex.
  • استبدل الكلمة المطلوبة باستخدام Document-> getRange() -> Replace (System :: MakeObjectSystem::Text::RegularExpressions::Regex ، طريقة “سيئة” خيارات).
  • احفظ مستند Word المحدث باستخدام طريقة Document-> Save(String).

يُظهر نموذج التعليمات البرمجية التالي كيفية البحث عن نص واستبداله باستخدام التعبير العادي في C ++.

// تحميل مستند MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// إنشاء خيارات البحث والاستبدال
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// ابحث عن النص واستبدله
doc->get_Range()->Replace(System::MakeObject<System::Text::RegularExpressions::Regex>(u"[s|m]ad"), u"bad", options);

// احفظ المستند المحدث 
doc->Save(u"updated.doc");

البحث عن نص واستبداله باستخدام Meta-Characters

في بعض الحالات ، يمكن أن يتضمن النص الذي تريد استبداله فواصل ، مثل فاصل الأسطر ، فاصل الفقرة ، فاصل القسم ، إلخ. من أجل التعامل مع مثل هذه السيناريوهات ، يدعم Aspose.Words for C ++ الأحرف الوصفية التالية في سلاسل البحث والاستبدال .

  • & p لفاصل الفقرة
  • & ب لقسم استراحة
  • & م لفاصل الصفحة
  • & l لفاصل السطر اليدوي

يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن نص واستبداله باستخدام الأحرف الوصفية في مستند Word.

// تحميل مستند MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// إنشاء خيارات البحث والاستبدال
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// ابحث عن النص واستبدله
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);

// احفظ المستند المحدث 
doc->Save(u"updated.doc");

تجاهل النص أثناء عملية البحث والاستبدال

يتيح لك Aspose.Words for C ++ أيضًا تجاهل النص داخل الحقول والمراجعات أثناء عملية البحث والاستبدال. تتيح لك فئة FindReplaceOptions تحديد الخيارات لإضافة هذا التخصيص. توفر فئة FindReplaceOptions الطرق التالية لتجاهل النص في سيناريوهات مختلفة:

يُظهر نموذج التعليمات البرمجية التالي كيفية تجاهل النص في كل من السيناريوهات المذكورة أعلاه.

// تحميل مستند MS Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// إنشاء خيارات البحث والاستبدال
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// استبدل "e" في المستند مع تجاهل النص الموجود داخل الحقل
options->set_IgnoreFields(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// استبدل "e" في المستند مع تجاهل النص المحذوف
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// استبدل "e" في المستند مع تجاهل النص المدرج
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// احفظ المستند المحدث 
doc->Save(u"updated.doc");

احصل على رخصة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة واجهة برمجة التطبيقات بدون قيود تقييمية.

استنتاج

في هذه المقالة ، رأيت كيفية البحث عن نص واستبداله في مستندات Word باستخدام C ++. أظهر الدليل التدريجي وعينات التعليمات البرمجية كيفية تخصيص ميزة البحث والاستبدال في سيناريوهات مختلفة. يمكنك استكشاف المزيد حول واجهة برمجة تطبيقات أتمتة Word C ++ باستخدام التوثيق.

أنظر أيضا