מאמר זה מכסה גישות שונות לאיתור והחלפת טקסט במסמכי Word באמצעות C# ביישומי .NET או .NET Core.

מצא והחלף היא תכונה שימושית למדי של MS Word כדי לאתר ולהחליף במהירות את הטקסט הרצוי במסמכים. זה הופך להיות שימושי יותר וחוסך זמן כאשר אתה עובד עם מסמכים ארוכים יותר. במקרים שבהם אתה צריך למצוא ולהחליף טקסט במאות מסמכי Word או שאתה צריך להפוך את התהליך הזה לאוטומטי, אתה בהחלט תבחר לעשות זאת באופן תוכנתי. אז במאמר זה, אני אראה לך כיצד למצוא ולהחליף טקסט במסמכי Word באופן תכנותי בתרחישים שונים באמצעות C#. לאחר שתקרא את המאמר הזה, תוכל:

ספריית C# לאיתור והחלפת טקסט במסמך Word

קודם כל, צור פרוייקט C# חדש (Console, 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 עבור .NET, בואו נתחיל כעת למצוא ולהחליף טקסט במסמך Word הבא.

c# מצא והחלף טקסט במסמך Word

מצא והחלף טקסט במסמכי Word ב-C#

להלן השלבים לאיתור והחלפת טקסט מסוים במסמך Word באמצעות Aspose.Words עבור 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#

אתה יכול גם להתאים אישית את ה-API כדי למצוא מילים דומות ולהחליף אותן במילה מסוימת. לדוגמה, אתה יכול למצוא את המילים “עצוב” ו"מטורף" ולהחליף אותן במילה אחת. דוגמת הקוד הבאה מראה כיצד למצוא ולהחליף מילים דומות במסמך 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(string, string, FindReplaceOptions) משמשת למטרה זו. דוגמת הקוד הבאה מראה כיצד להחליף טקסט בכותרת העליונה/תחתונה של מסמך Word ב-C#.

// טען מסמך וורד
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: מעבר לפסקה
  • &b: מעבר קטע
  • &m: מעבר עמוד
  • &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 המבוסס על מילים, ביטויים ודפוסי ביטוי רגילים תואמים או דומים באופן תוכנתי. תכונות אלו לא רק הופכות את תהליך החלפת הטקסט לאוטומטי אלא חוסכות לך זמן ומאמץ רבים הנדרשים בפעולת איתור והחלפה ידנית במסמכי Word. אתה יכול ללמוד עוד על ספריית המילים של Aspose באמצעות תיעוד.

מאמרים קשורים)

טיפ: ייתכן שתתעניין בממיר טקסט ל-GIF חינמי המאפשר לך ליצור אנימציות מטקסטים.