تتناول هذه المقالة طرقًا مختلفة للبحث عن النص واستبداله في مستندات Word باستخدام C# في تطبيقات .NET أو .NET Core.

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

مكتبة C# للبحث عن النص واستبداله في مستند Word

بادئ ذي بدء ، قم بإنشاء مشروع C# جديد (وحدة تحكم ، ASP.NET ، إلخ) في Visual Studio وقم بتثبيت Aspose.Words for .NET عبر NuGet Package Manager أو Package Manager Console.

التثبيت عبر NuGet Package Manager

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

التثبيت عبر وحدة تحكم مدير الحزمة

PM> Install-Package Aspose.Words

بعد تثبيت Aspose.Words for .NET ، فلنبدأ الآن في البحث عن النص واستبداله في مستند Word التالي.

c # البحث عن نص واستبداله في مستند Word

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

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

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

// قم بتحميل مستند Word docx
Document doc = new Document("document.docx");
// ابحث عن النص واستبدله في المستند
doc.Range.Replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.Forward));
// احفظ مستند Word
doc.Save("Find-And-Replace-Text.docx");

انتاج |

ابحث عن نص في مستند Word باستخدام c #

البحث عن الكلمات المتشابهة واستبدالها في مستندات Word باستخدام C#

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

// قم بتحميل مستند Word docx
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.MatchCase = true; 
// ابحث عن النص واستبدله في المستند
doc.Range.Replace(new Regex("[B|S|M]ad"), "[replaced]", options);
// احفظ مستند Word
doc.Save("Find-And-Replace-Multiple-Words.docx");

انتاج |

c # استبدال النص في ملف docx

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

قد تكون هناك حالة عندما تريد البحث عن النص الذي يظهر في نمط معين واستبداله. على سبيل المثال ، تحتاج إلى إخفاء / استبدال جميع معرّفات البريد الإلكتروني في مستند Word. في مثل هذه الحالات ، يمكنك إنشاء تعبير عادي لمعرفات البريد الإلكتروني وتمريره إلى أسلوب Document.Range.Replace (Regex ، string ، FindReplaceOptions).

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

// قم بتحميل مستند Word docx
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.FindWholeWordsOnly = true; 
// قم بتعيين التعبير العادي لمعرفات البريد الإلكتروني 
Regex EmailRegex = new Regex(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
// ابحث عن النص واستبدله في المستند
doc.Range.Replace(EmailRegex, "[replaced]", options);
// احفظ مستند Word
doc.Save("Find-And-Replace-Text-Using-Regex.docx");

انتاج |

كيفية استبدال النص في مستند Word

يمكنك أيضًا البحث عن نص واستبداله في أقسام الرأس أو التذييل في مستند Word باستخدام فئة HeaderFooter. يتم استخدام طريقة HeaderFooter.Range.Replace (سلسلة ، سلسلة ، FindReplaceOptions) لهذا الغرض. يُظهر نموذج التعليمات البرمجية التالي كيفية استبدال النص في رأس / تذييل مستند Word في C#.

// قم بتحميل مستند Word
Document doc = new Document("document.docx");
// الوصول إلى رأس / تذييل مستند Word
HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
// اضبط الخيارات
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// استبدال النص في تذييل مستند Word
footer.Range.Replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// احفظ مستند Word
doc.Save("Find-And-Replace-Text-in-Footer.docx");

انتاج |

البحث عن مستند Word واستبداله في C# .NET

البحث عن النص واستبداله بأحرف وصفية في مستندات Word باستخدام C#

قد يكون هناك سيناريو يتكون فيه نص أو عبارة معينة من فقرات أو أقسام أو صفحات متعددة. في مثل هذه الحالات ، لن تعمل طريقة البحث والاستبدال البسيطة بشكل فعال وسيتعين علينا التعامل مع فواصل الفقرات أو فواصل الأقسام أو فواصل الصفحات. لهذا الغرض ، يسمح لك Aspose.Words باستخدام الأحرف الوصفية التالية في سلسلة البحث أو سلسلة الاستبدال:

  • & p: فاصل فقرة
  • & ب: فاصل مقطعي
  • & م: فاصل صفحة
  • & l: فاصل الأسطر

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

// قم بتحميل مستند Word docx
Document doc = new Document("document.docx"); 
// اضبط الخيارات 
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// استبدال النص بفاصل الفقرة
doc.Range.Replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// احفظ مستند Word
doc.Save("Find-And-Replace-Text-Paragraph-Break.docx");

انتاج |

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

استنتاج

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

مقالات ذات صلة)

نصيحة: قد تكون مهتمًا بـ Text to GIF Converter المجاني الذي يسمح لك بإنشاء رسوم متحركة من النصوص.