מאמר זה מכסה גישות שונות לאיתור והחלפת טקסט במסמכי Word באמצעות C# ביישומי .NET או .NET Core.
מצא והחלף היא תכונה שימושית למדי של MS Word כדי לאתר ולהחליף במהירות את הטקסט הרצוי במסמכים. זה הופך להיות שימושי יותר וחוסך זמן כאשר אתה עובד עם מסמכים ארוכים יותר. במקרים שבהם אתה צריך למצוא ולהחליף טקסט במאות מסמכי Word או שאתה צריך להפוך את התהליך הזה לאוטומטי, אתה בהחלט תבחר לעשות זאת באופן תוכנתי. אז במאמר זה, אני אראה לך כיצד למצוא ולהחליף טקסט במסמכי Word באופן תכנותי בתרחישים שונים באמצעות C#. לאחר שתקרא את המאמר הזה, תוכל:
- מצא והחלף טקסט ב-Word DOC/DOCX באמצעות C#
- מצא והחלף מילים דומות במסמך Word
- מצא והחלף טקסט באמצעות ביטוי רגיל
- מצא והחלף טקסט בכותרת העליונה/תחתונה של מסמך Word
- מצא והחלף טקסט במטא-תווים במסמך Word
ספריית C# לאיתור והחלפת טקסט במסמך Word
קודם כל, צור פרוייקט C# חדש (Console, ASP.NET וכו’) ב-Visual Studio והתקן את Aspose.Words for .NET דרך NuGet Package Manager או Package Manager Console.
התקנה באמצעות NuGet Package Manager
התקנה דרך מסוף מנהל החבילות
PM> Install-Package Aspose.Words
לאחר שהתקנו את Aspose.Words עבור .NET, בואו נתחיל כעת למצוא ולהחליף טקסט במסמך Word הבא.
מצא והחלף טקסט במסמכי Word ב-C#
להלן השלבים לאיתור והחלפת טקסט מסוים במסמך Word באמצעות Aspose.Words עבור NET.
- צור מופע של המחלקה Document ואתחול עם הנתיב של מסמך Word.
- מצא והחלף טקסט באמצעות השיטה Document.Range.Replace(string, string, FindReplaceOptions).
- שמור את המסמך בשיטת Document.Save(string).
המחלקה 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#
אתה יכול גם להתאים אישית את ה-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");
תְפוּקָה
מצא והחלף טקסט באמצעות 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 באמצעות C#
אתה יכול גם למצוא ולהחליף טקסט בחלקי הכותרת העליונה או התחתונה של מסמך 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#
יכול להיות תרחיש שבו טקסט או ביטוי מסוימים מורכבים ממספר פסקאות, קטעים או דפים. במקרים כאלה, השיטה הפשוטה של חיפוש והחלפה לא תעבוד ביעילות ונצטרך לטפל בהפסקות הפסקאות, מעברי הקטעים או מעברי הדפים. לשם כך, 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");
תְפוּקָה
סיכום
מאמר זה מכסה כמה דרכים שימושיות למצוא ולהחליף טקסט במסמך Word המבוסס על מילים, ביטויים ודפוסי ביטוי רגילים תואמים או דומים באופן תוכנתי. תכונות אלו לא רק הופכות את תהליך החלפת הטקסט לאוטומטי אלא חוסכות לך זמן ומאמץ רבים הנדרשים בפעולת איתור והחלפה ידנית במסמכי Word. אתה יכול ללמוד עוד על ספריית המילים של Aspose באמצעות תיעוד.
מאמרים קשורים)
טיפ: ייתכן שתתעניין בממיר טקסט ל-GIF חינמי המאפשר לך ליצור אנימציות מטקסטים.