חיפוש/החלפה הכל על תווים כלליים בוורד

מצב
הנושא נעול.

גיוון

צוות הנהלה
מנהל
מנוי פרימיום
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
שלום וברכה לכל המעמדים היקרים!


כידוע לכולכם שיש פעמים שעבודת ההכנה לעימוד מורכבת יותר מהעימוד עצמו (ולהבדיל - כמאמר רז"ל שההכנה למצווה גדולה יותר מן המצווה…), עיקר עבודת ההכנה לעימוד מתבצעת בתוכנת Word, שכן תוכנה זו נמצאת בשימוש אצל העורכים והמחברים.

קבלת הקבצים מתחלקת בדר"כ לשלשה סוגים:
  1. יש את אלו שנותנים חומר מסוגנן כדבעי; כל הטקסט בנוי בצורה אחידה, כל סוג כותרת מסוגננת בסגנון מסויים.​
  2. ויש את סגנון המחברים שמביאים חומר לא מסוגנן בעליל...​
  3. ויש את המחברים שבטוחים שהביאו חומר מוכן טוב אבל משיטוט קל בקובץ, מתברר שלא מיניה ולא מקצתיה.​
בקבוצה השנייה, יש את סוג האנשים אשר בשיחת טלפון ניתן לזהותם ככאלו שבהסבר קצר יבינו איך להביא את החומר בצורה נורמטיבית. ויש את סוג האנשים שאנחנו מבינים מיד שחבל על בזבוז הזמן בהסברים, חומר מוכן לא תקבלו מהם.

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


אי לכך אמרתי להעלות כאן מדריך ל'תווים כלליים' בוורד, והוא יהיה תאום לאשכול האדיר 'הכל על גרפ (GREP) באינדיזיין', באשכול זה נכיר בעז"ה את הפונקצייות של 'תווים כלליים', נכיר את המעלות ואת החסרונות שיש בהם, נתקדם שלב שלב עד שבס"ד נוכל להרכיב לבד מחרוזות חיפוש מכל סוג שהוא.

בהזדמנות זו אמליץ על 'קורס הכנה לעימוד' של הרב @ישורון קובי - אשר כבר פקע שמיה כחכם ובקי טובא בתחומים אלו, ונעזרתי עימו הרבה בכתיבת המדריך - שנוגע שם בכל דבר שיכול לעזור להכנה טובה לעימוד, וגם על כל תחום החיפוש והחלפה בצורה יסודית ובטוב טעם כדרכו של הנ"ל, ושמעתי מכמה וכמה שעברו את הקורס הנ"ל שההכנה לעימוד הפכה אצלם לחוייה.

נ.ב. המדריך ייערך מפעם לפעם ע"פ ההערות של הקוראים.
כולי תקווה שיהיה זה לעזר רב לכל החברים היקרים!
 

גיוון

צוות הנהלה
מנהל
מנוי פרימיום
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
הקדמה

תווים מיוחדים (wildcard) מכונים גם ג'וקרים – שם המאפיין קצת את האופן שבו הם עובדים. במשחקים מסוימים הג'וקר הוא קלף שיכול לבוא במקום כל קלף אחר (זוכרים את רמיקוב?). כך תווים מיוחדים באים לייצג משהו אחרת משהו רחב יותר.

החיפוש והחלפה ב'תווים כלליים' לא מגיעה לרמה של חיפוש והחלפה ב'גרפ' אך עדיין ניתן לבצע עם התווים כלליים המון פעולות עוצמתיות, כל מה שנדרש זה להפעיל יצירתיות ולחבר את האופציות יחדיו לכדי מחרוזת חיפוש.

כדי להתחיל חיפוש עם 'תווים כלליים' יש לסמן את האפשרות השתמש בתווים כלליים (לחץ על עוד>>) בדיאלוג של חיפוש והחלפה.

זאת הרשימה של תווים בעלי משמעות מיוחדת בחיפוש על ידי תווים כלליים: \*!?@-()<>{}[].

הערה: וורד משתמש בהתאמת חיפוש "עצלה" (lazy). פירוש הדבר שהתאמת החיפוש תעצור באפשרות ההתאמה הראשונה. מערכות חיפוש אחרות (כגון גרפ) משתמשות (גם) בהתאמת חיפוש "חמדנית" (greedy) – שאלגוריתם החיפוש מנסה להתאים כמה שיותר טקסט. אז אם התנסיתם בעבר במערכת חיפוש שכזאת, שימו לב להבדל הזה בהתנהגות.​
 

גיוון

צוות הנהלה
מנהל
מנוי פרימיום
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
פרק ראשון
- תווים -

בפרק זה נרצה להתמקד בחיפוש תווים ונכיר את הקודים שבנויים לכך.

1. ?תו כלשהו פעם אחת.
קוד זה משמש ממש כמו הג'וקר של רמיקוב שהזכרנו בהקדמה, כלומר הוא נכנס במקום כל תו שהוא.

לדוגמא: א?ר ימצא: אמר, אור, אשר, אחר, אך לא את: אומר, אדבר. שכן? זה תו בודד.



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

לדוגמא: א*ר, ימצא: אמר וגם אדבר, וגם ארעי. אך גם: אבוא מחר.


שני התווים הנ"ל ? ו-* ביסודם השימוש בהם זהה, אך ישנם כמה וכמה הבדלים בינהם, ונפרט:

א.
? – ימצא תו אחד בודד, בעוד ה-* ימצא רצף של תווים.
לדוגמא: א?ר = אור, אך לא אדבר. א*ר = אור, אדבר וגם: אבוא מחר

ב. ? – לא ימצא פחות מתו אחד. בעוד ה-* ימצא גם אפס תווים.
לדוגמא: ח?ד = חוד, אך לא חד. ח*ד = חוד, חד. אך גם: חשוב מאוד

ג. ? – שימושי גם אם לא נוסיף אחריו כלום, בעוד שה-* יהיה שמושי רק אם נוסיף אחריו תו כלשהו.
לדוגמא: א? = אם, אב, אל וכדו'. א* = א.



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

גיוון

צוות הנהלה
מנהל
מנוי פרימיום
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
פרק שני
- טווח תווים -

3. [...]תו אחד מבין התווים שצויינו (סוגריים מרובעים באים תמיד בזוג).

לדוגמא: ר[כו]ב: מוצא את: רכב, רוב אך לא את רוכב.

[13579] מוצא ספרה אחת אי זוגית.
[אבגדה] מוצא אות אחת מהנ"ל או א' או ב' או ג' או ד' או ה', כדי לחסוך בכתיבה תווים מרובים ניתן להשתמש עם האופצייה הבאה (4).


4. [...-...] טווח תווים, תו אחד מטווח התווים שצויין.

לדוגמא: [א-ס]פר: מוצא את אפר, כפר, ספר אך לא את תפר.

ניתן בדרך זו למצוא את כל אותיות א"ב [א-ת] או כל ספרה [0-9], כל אות גדולה באנגלית [A-Z] או אות קטנה באנגלית [a-z].
בכדי למצוא כל התווים באנגלית יש לכתוב כך: [A-Za-z], ולא [A-z] שכן בטבלת היוניקוד נוכל לראות שבין האותיות הרישיות לקטנות יש תווים נוספים כמו סוגריים מרובעים ועוד.
אפשר גם להכניס כמה טווחים או תווים בסוגריים אחד, למשל [א-ת0-9] וכדו'.


5. [!...] תו אחד כלשהו פרט לתווים שצויינו.
הפונקצייה הזאת היא אחת הפונקצייות החזקות [והאהובות עלי] בחיפושים והחלפות, (יש את זה בתג עם תו ה-~, ובאינדי' עם תו ה-^) הפונקצייה דומה לפונקצייה הקודמת אך בדיוק בהיפוך, כלומר התוכנה תחפש את כל התווים שיש פרט לתווים שהכנסתם לסוגריים.

לדוגמא: ג[!ב]ר מוצא את: גזר, גשר, גדר. אך לא את גבר.


6. [!...-...]
טווח תווים בשלילה, תו אחד פרט לטווח התווים שצויין.
לדוגמא: ג[!א-ד]ר מוצא את: גזר, גשר, אך לא את גבר, גדר.

וכנ"ל, [!א-ת] - כל תו שאינו מאותיות א"ב, [!0-9] - כל תו שאינו תו מספרי, [!A-Za-z] - כל תו שאינו אות אנגלית.



הערה:
טווחים חייבים להיות בסדר עולה על פי הסדר שלהם בטבלת הגופן כלומר [א-ג] ולא [ג-א], ואם אינך בטוח מה קודם למה, תוכל לבדוק זאת בתפריט הוספה/סימן. או כאן בטבלת יוניקוד.
 
נערך לאחרונה ב:

גיוון

צוות הנהלה
מנהל
מנוי פרימיום
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי DIP
עיצוב גרפי
עימוד ספרים
פרק שלישי
- כמות מופעים -

לאחר שלמדנו בפרק הקודם על טווח תווים והבנו שזה ימצא לנו רק תו בודד מתוך טווח התווים [הביטוי], בפרק הזה נלמד להגדיר כמויות לחיפוש.


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

הערה: כפי שכבר הקדמנו בהקדמה, וורד משתמש בהתאמת חיפוש "עצלה" (lazy). פירוש הדבר שהתאמת החיפוש תעצור באפשרות ההתאמה הראשונה.
ולכן כשנרצה לחפש לדוגמא: את המילה, יש וגם את המילה יששששש, ונחשבו לחפש אותם כך: יש@. התוכנה תמצא רק את התווים 'יש' גם מהמילה יששששש, היות וה-@ נותן הוראה לחפש 1 או יותר מהתו הקודם, אז התוכנה הולכת על המינימום.
הפתרון לכך: להוסיף אחרי ה@ תו נוסף לחיפוש, לדוגמא: יש@[רווח], או להגביל את החיפוש לסוף מילה (נלמד בהמשך).

לאחר הערה זו ניתן דוגמא לשימוש עם פונקציה זו לטווח תווים (ראה לעיל פרק 2).
לדוגמא: [דביר]@^32 (תו ^32, מסמל רווח וניתן ג"כ להקיש רווח), מוצא את: ידבר, רביד, ידביר, אך גם ימצא את מדבר, ואדבר.



{} סוגריים מסולסלים משמשים להגדרת מספר הפעמים שיופיע התו הקודם לסוגריים, או הביטוי הקודם לסוגריים. יש כמה וכמה אופצייות לשימוש בסוגריים האלו כפי שנראה בשורות הבאות:

8. {n} - מוצא מספר מופעים מדוייק של הקודם.
לדוגמא:
א{2} מוצא אא, א{3} מוצא אאא.
[יד]{2}, מוצא את: יד, די, אך אם לא נגביל* את החיפוש לפניו ולאחריו הוא ימצא גם את אייר.


9. {n,} - מוצא מינימום n פעמים ומעלה מהתו/ביטוי קודם.
לדוגמא:
מוש{2,}לם, מוצא את: מוששלם, מושששלם, אך לא את מושלם.
זו גם הדרך למצוא רווחים כפולים, ^32{2,}, כאשר התו ^32, מסמל רווח וניתן ג"כ להקיש רווח.
כמו"כ נפוץ מאוד שיש צורך בשלוש נקודות... והוכנס 4 או לפעמים 5 נקודות ומעלה. נחפש .{4,} ונחליף בשלוש נקודות.

10. {n,m} - מוצא בין n פעמים ל-m פעמים מהתו/ביטוי קודם.
לדוגמא:
יש{2,6}, מוצא את: ישש, יששש, וגם ישששששש, אך לא את יש.
[יש]{2,3}, מוצא את: יש, שיש, אך לא את: שישי, ישיש. אך אם לא נגביל* את החיפוש לפניו ולאחריו הוא ימצא גם את אייר.


אחד השימושים הבולטים ב-@, הוא בחיפוש טווח תווים ע"י שלילה (לעיל פרק 2), למשל אם נרצה להגביל את החיפוש רק בפסקה אחת, נחפש [!^13] - כל תו שאינו סימון פסקה, כשהתו ^13 מסמל סימון פסקה (נדבר בהמשך), ונוסיף @, כדי שיחפש גם יותר מתו אחד, אך כפי שכבר למדנו בהערה הקודמת ש-@ בלי תו אחריו לא ממצה את עצמו, נוסיף אחריו הגבלה - כלומר עד היכן אני רוצה שהתוכנה תרוץ עם החיפוש של כל תו שאינו סימון פסקה, וזה יהיה כמובן סימון פסקה ^13.

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

לדוגמא: [א-ת]{1,2}.[!^13]@^13.
שימוש חזק יש ב-@ וב-{} כשמחפשים עם קבוצות אך זה כבר בפרקים הבאים



הערה: לצערנו חסרה מאוד בתוים כלליים האפשרות להגדיר מספר מופעים אפס או יותר, ביטוי של {0,} לא יעבוד. (בחיפוש גרפ באינדיזיין הסימון *? משמש לזה, ובחיפוש של תוכנת תג <...> משמש לזה). כך שאם נרצה לכלול בחיפוש אחד את המילה תהלים שאולי כתובה גם בתור תהילים נצטרך לעשות שני חיפושים נפרדים.​

________________
* אם לא נגביל את החיפוש - הגבלת חיפוש מתבצעת ע"י הוספה של תו מסויים לפני או אחרי מחרוזת החיפוש.
 
נערך לאחרונה ב:
מצב
הנושא נעול.

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קיט ק'

קמה קָרָאתִי בְכָל לֵב עֲנֵנִי יְהוָה חֻקֶּיךָ אֶצֹּרָה:קמו קְרָאתִיךָ הוֹשִׁיעֵנִי וְאֶשְׁמְרָה עֵדֹתֶיךָ:קמז קִדַּמְתִּי בַנֶּשֶׁף וָאֲשַׁוֵּעָה (לדבריך) לִדְבָרְךָ יִחָלְתִּי:קמח קִדְּמוּ עֵינַי אַשְׁמֻרוֹת לָשִׂיחַ בְּאִמְרָתֶךָ:קמט קוֹלִי שִׁמְעָה כְחַסְדֶּךָ יְהוָה כְּמִשְׁפָּטֶךָ חַיֵּנִי:קנ קָרְבוּ רֹדְפֵי זִמָּה מִתּוֹרָתְךָ רָחָקוּ:קנא קָרוֹב אַתָּה יְהוָה וְכָל מִצְוֹתֶיךָ אֱמֶת:קנב קֶדֶם יָדַעְתִּי מֵעֵדֹתֶיךָ כִּי לְעוֹלָם יְסַדְתָּם:
נקרא  19  פעמים

לוח מודעות

למעלה