متن را در Word C++ پیدا و جایگزین کنید

یافتن و جایگزینی یک ویژگی مفید است که توسط MS Word ارائه شده است که به شما امکان می دهد همه موارد یک متن خاص را به طور همزمان به روز کنید. بنابراین، لازم نیست متن را در کل سند به صورت دستی بیابید و جایگزین کنید. در این مقاله، نحوه یافتن و جایگزینی متن در اسناد Word را از داخل برنامه های C++ یاد خواهید گرفت. این می تواند زمانی مفید باشد که بخواهید یک متن خاص را در تعدادی از اسناد جایگزین کنید.

C++ API برای یافتن و جایگزینی متن

Aspose.Words for C++ یک کتابخانه C++ برای ایجاد و دستکاری اسناد Word موجود است. API از طیف گسترده ای از ویژگی های اولیه و پیشرفته اتوماسیون Word پشتیبانی می کند. می توانید بسته API را دانلود یا با استفاده از NuGet نصب کنید.

Install-Package Aspose.Words.Cpp

یافتن و جایگزینی متن در اسناد Word با استفاده از ++C

در زیر مراحل یافتن و جایگزینی متن در اسناد Word با استفاده از Aspose.Words برای C++ آمده است.

  • سند Word را با استفاده از کلاس Document بارگیری کنید.
  • کلمه مورد نظر را با استفاده از Document->getRange()->Replace(u"sad", u"bad", System::MakeObject جایگزین کنید. ) روش.
  • سند Word به روز شده را با استفاده از روش Document->Save(String) ذخیره کنید.

نمونه کد زیر نحوه یافتن و جایگزینی کلمه “sad” با “بد” را در یک سند 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::MakeObject کلمه مورد نظر را جایگزین کنید.System::Text::RegularExpressions::Regex روش، u"bad"، گزینه ها).
  • سند 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");

یافتن و جایگزینی متن با استفاده از متا کاراکترها

در موارد خاص، متنی که می‌خواهید جایگزین کنید می‌تواند شامل شکسته‌ها مانند شکست خط، شکست پاراگراف، شکست بخش و غیره باشد. برای مقابله با چنین سناریوهایی، Aspose.Words برای C++ از متا کاراکترهای زیر در رشته‌های جستجو و جایگزینی پشتیبانی می‌کند. .

  • &p برای شکست پاراگراف
  • &b برای شکست بخش
  • &m برای شکست صفحه
  • &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 برای 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");

مجوز رایگان دریافت کنید

برای امتحان API بدون محدودیت ارزیابی، می‌توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله نحوه یافتن و جایگزینی متن در اسناد Word با استفاده از C++ را مشاهده کرده اید. راهنمای گام به گام و نمونه کد نشان داده است که چگونه می توان ویژگی یافتن و جایگزینی را در سناریوهای مختلف سفارشی کرد. می‌توانید با استفاده از مستندات درباره C++ Word automation API بیشتر کاوش کنید.

همچنین ببینید