يعد البحث والاستبدال ميزة مفيدة يوفرها برنامج MS Word والتي تتيح لك تحديث جميع تكرارات نص معين في وقت واحد. وبالتالي ، لا يتعين عليك تحديد موقع النص واستبداله في المستند بأكمله يدويًا. في هذه المقالة ، ستتعلم كيفية البحث عن نص واستبداله في مستندات Word من داخل تطبيقات C ++. قد يكون هذا مفيدًا عندما تحتاج إلى استبدال نص معين في عدد من المستندات دفعة واحدة.
- C ++ API للبحث عن النص واستبداله
- البحث عن نص واستبداله في مستندات Word
- استخدم التعبيرات العادية للبحث عن النص واستبداله
- استبدال النص باستخدام Meta-Characters
- تجاهل النص أثناء عملية البحث والاستبدال
- احصل على ترخيص مجاني
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 الطرق التالية لتجاهل النص في سيناريوهات مختلفة:
- setIgnoreFields (منطقي) - Ignores text inside the fields
- setIgnoreDeleted (منطقي) - Ignores text inside the delete revisions
- setIgnoreInserted (منطقي) - Ignores text inside the insert revisions
يُظهر نموذج التعليمات البرمجية التالي كيفية تجاهل النص في كل من السيناريوهات المذكورة أعلاه.
// تحميل مستند 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 ++ باستخدام التوثيق.