מצא והחלפת

אתה יכול לנווט בקלות במסמך שלך באמצעות מקלדת ועכבר, אבל אם יש לך דפים רבים לגלול דרך, זה ייקח די הרבה זמן כדי למצוא טקסט מסוים במסמך ארוך. זה יהיה יותר זמן לצרוך כאשר אתה רוצה להחליף דמויות או מילים מסוימות שהשתמשת במסמך שלך. פונקציונליות “מצא והחלפת” מאפשרת לך למצוא רצף של דמויות במסמך ולהחליף אותו עם רצף אחר של דמויות.

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

מאמר זה מסביר כיצד ליישם החלפת מיתר וביטויים קבועים עם התמיכה של metacharacters.

דרכים למצוא ולחליף

Aspose.Words מספק שתי דרכים ליישם את החיפוש ולהחליף את הפעולה באמצעות הפעולות הבאות:

1.1 1. * החלפת מחרוזת פשוטה* - כדי למצוא ולהחליף מחרוזת מסוימת עם אחר, אתה צריך לציין מחרוזת חיפוש (דמויות אלפרמריות) אשר תוחלף על פי כל האירועים עם מיתר חלופי מוגדר אחר. שני המיתרים לא חייבים להכיל סמלים. קח בחשבון כי השוואה מחרוזת יכול להיות רגיש במקרה, או שאתה יכול להיות לא בטוח לחש או יש כמה לחשים דומים. 2. * ביטויים רשומים* - כדי לציין ביטוי קבוע למציאת משחקי המחרוזת המדויקים ולהחליפם על פי הביטוי הרגיל שלך. שים לב שמילה מוגדרת כמרכיבים רק דמויות אלפאמריות. אם החלפתם מבוצעת עם רק מילים שלמות תואמות ומחרוזת קלט מתרחשת להכיל סמלים, אז לא יימצאו ביטויים.

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

Aspose.Words מציג את הפונקציונליות וההחלפה עם aspose.words.replacing מודול. אתה יכול לעבוד עם אפשרויות רבות במהלך למצוא ולהחליף את התהליך באמצעות FindReplaceOptions מעמד.

מצא והחלפת טקסט באמצעות החלפת סטרלינג פשוטה

אתה יכול להשתמש באחד replace ו replace_regex שיטות למצוא או להחליף מחרוזת מסוימת ולהחזיר את מספר ההחלפה שנעשו. במקרה זה, אתה יכול לציין מחרוזת שיש להחליף, מחרוזת שתחליף את כל האירועים שלה, בין אם ההחלפה היא רגישה במקרה, ואם רק מילים עומדות-אלון יושפעו.

הדוגמה הקודית הבאה מראה כיצד למצוא את המיתרים “Customername” ולהחליף אותו עם המחרוזת “ג’יימס בונד”:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.writeln("Hello _CustomerName_,")
print("Original document text: " + doc.range.text)

doc.range.replace("_CustomerName_", "James Bond", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

print("Document text after replace: " + doc.range.text)

# Save the modified document
doc.save(docs_base.artifacts_dir + "FindAndReplace.simple_find_replace.docx")

ניתן להבחין בין המסמך לפני החלת החלפת מיתר פשוטה:

before-simple-string-replacement

לאחר הגשת החלפת מחרוזת פשוטה:

after-simple-string-replacement

מצא והחלפת טקסט באמצעות הודעות רגילות

ביטוי קבוע הוא דפוס המתאר רצף מסוים של טקסט. נניח שאתה רוצה להחליף את כל האירועים הכפולים של מילה עם התרחשות מילה אחת. לאחר מכן תוכל ליישם את הביטוי הרגיל הבא כדי לציין את תבנית המילה הכפולה: ([a-zA-Z]+) \1.

השתמש replace_regex שיטה לחיפוש ולהחלפת שילובי אופי ספציפיים על ידי הגדרת פרמטר ביטוי רגיל כמו התבנית כדי למצוא משחקים.

הדוגמה הבאה של הקוד מראה כיצד להחליף מיתרים שמתאימים לתבנית ביטוי רגילה עם מיתר חלופי מוגדר:

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

before-replacement-with-regular-expressions

לאחר יישום החלפת מיתר עם ביטויים קבועים:

after-replacement-with-regular-expressions

Find and Replace String באמצעות Metacharacters

אתה יכול להשתמש metacharacters במחרוזת החיפוש או מחרוזת החלפת אם טקסט מסוים או ביטוי מורכב פסקאות מרובות, חלקים או דפים. חלק מהמטגנים כוללים &p על הפסקה, &b עבור הפסקה, &m עבור דף נשבר, &l בשביל הפסקה קו.

הדוגמה הבאה של הקוד מראה כיצד להחליף טקסט עם פסקה ושבר דף:

אתה יכול למצוא ולהחליף טקסט בחלק ראש / מ"ר של מסמך Word באמצעות מסמך Word באמצעות HeaderFooter מעמד.

הדוגמה הבאה של הקוד מראה כיצד להחליף את הטקסט של הקטע הראשי במסמך שלך:

ניתן להבחין בין המסמך לפני החלת החלפת מיתר ראש:

before-applying-header-string-replacement

לאחר יישום החלפת כותרות:

after-applying-header-string-replacement

דוגמא הקוד להחליף את הטקסט של סעיף ה- Footer במסמך שלך דומה מאוד לדוגמה הקודמת קוד ראשי. כל שעליך לעשות הוא להחליף את שני השורות הבאות:

header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.HEADER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)

עם הדברים הבאים:

header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)

אתה יכול להבחין ההבדל בין המסמך לפני החלת החלפת מיתר רגל:

before-applying-footer-string-replacement

לאחר הגשת החלפת מחרוזת Footer:

after-applying-footer-string-replacement

עקבו אחרי Find and Replace

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

Aspose.Words מספק תכונות רבות להתעלמות מטקסט כגון ignore_deleted, ignore_fields, ו ignore_inserted.

הדוגמה הבאה של הקוד מראה כיצד להתעלם טקסט בתוך הסרת תיקונים:

עקבו אחרי Find and Replace

Aspose.Words מספק תכונות רבות ושונות כדי למצוא ולהחליף טקסט כגון יישום פורמט ספציפי עם apply_font ו apply_paragraph_formats תכונות, באמצעות החלפת דפוסים חלופיים use_substitutions רכוש, ואחרים.

לדוגמה הקוד הבא מראה כיצד להדגיש מילה מסוימת במסמך שלך: