REGEX.EXTRACT
הפונקציה REGEX.EXTRACT מחזירה את ההתאמות או את הקבוצות הנלכדות בהתאמה של ביטוי רגולרי נתון במחרוזת מקור.
REGEX.EXTRACT(מחרוזת-מקור, מחרוזת-ביטוי-רגולרי, מופע-התאמה, מופע-קבוצת-לכידה)
מחרוזת-מקור: ערך מחרוזת להתאמה לעומתו.
מחרוזת-ביטוי-רגולרי: ערך מחרות המייצג ביטוי רגולרי המשמש להתאמה לעומת מחרוזת-מקור.
מופע-התאמה: מספר שלם אפשרי המציין איזו התאמה יש להחזיר, למקרה שיש כמה התאמות. מספרים שליליים מתקבלים ומאפשרים לגשת להתאמות אחורנית, כך ש‑״-1״ הוא ההתאמה האחרונה וכן הלאה. אם הערך שניתן הוא ״0״, מוחזר מערך של כל ההתאמות. אם ערך זה יושמט, יוחזר המופע הראשון.
מופע-קבוצת-לכידה: מספר שלם אופציונלי המציין איזו קבוצת לכידה בהתאמה יש להחזיר, במקרה שיש קבוצות לכידה בביטוי הרגולרי. ערכים שליליים אינם מתקבלים. אם הערך שניתן הוא ״0״, מוחזר מערך של כל קבוצות הלכידה. אם ערך זה יושמט, תוחזר ההתאמה כולה.
הערות
מחרוזת-ביטוי-רגולרי חייב לתאום לתקן ICU.
דוגמאות |
---|
אם יש לך נתונים שלא ניתן לארגן בקלות בשורות ובעמודות של גיליון עבודה, אפשר להשתמש בפונקציה REGEX.EXTRACT כדי לפשט אותם. למשל, בטבלה הבאה, יש לנתונים מבנה כלשהו אבל הפרדתם באופן ידני לתאים מרובים עבור כל ביקורת עשויה להיות מסובכת. |
A | |
---|---|
1 | ביקורות משתמשים |
2 | דוא״ל: jtalma@icloud.com שם: Julie Talma תאריך: 17/05/2021 |
3 | דוא״ל: danny_rico@icloud.com שם: Danny Rico תאריך: 02/06/2021 |
כדי לתקן את זה, אפשר להוסיף לטבלה עוד עמודות עבור ״שם״, ״דוא״ל״, ״דירוג״ ו״תאריך״ ואז להשתמש בפונקציה REGEX.EXTRACT כדי למצוא את הנתונים הרצויים ולהחזיר אותם בתא. לדוגמה, ניתן להזין את הנוסחה הבאה כדי להחזיר שם: בנוסחה נמצאים בשימוש הארגומנטים הבאים:
ניתן לחזור על נוסחה זו עבור כל שורת נתונים כדי להחזיר את השם של כל אדם שהשיב לסקר על‑ידי שינוי source-string בהתאם לתאים האחרים שמכילים מידע על ביקורות משתמשים. |
כדי לתקן את זה, אפשר להוסיף לטבלה עוד עמודות עבור ״שם״, ״דוא״ל״, ״דירוג״ ו״תאריך״ ואז להשתמש בפונקציה REGEX.EXTRACT כדי למצוא את הנתונים הרצויים ולהחזיר אותם בתא. לדוגמה, ניתן להזין את הנוסחה הבאה: בנוסחה נמצאים בשימוש הארגומנטים הבאים:
|
ארגון מחדש של נתוני רשימה באמצעות match-occurrence |
---|
לפעמים יש לטפל בנתונים כמו אלה בטבלה הבאה (נקראת ״ספקים״), שבה הערכים מקובצים בתוך תא: |
ספק | פריט |
---|---|
A | עדשים, חומוס, שעועית |
B | תפוחים, תפוזים, לימונים |
C | קינואה, אורז, צ׳יה |
כדי להפריד את הערכים לפי חנות ודירוג, אפשר תחילה ליצור טבלה חדשה כמו זו: |
A | B | C | D | |
---|---|---|---|---|
1 | דירוג | A | B | C |
2 | 1 | |||
3 | 2 | |||
4 | 3 |
כדי להחזיר ״עדשים״, המוצר המוביל בדירוג עבור ספק א׳, ניתן להשתמש בנוסחה כמו זו שבתא B2 של הטבלה החדשה: בנוסחה נמצאים בשימוש הארגומנטים הבאים:
|
ניתן לשנות את הנוסחה שמעל בקלות כדי להשלים את הטבלה לפי שאר הספקים והפריטים.
|
דוגמאות נוספות |
---|
בהינתן שתוכנו של תא A1 הוא ״marina@example.com john@example.ca mike@example.de״. הפונקציה =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})") מחזירה ״marina@example.com״. הפונקציה =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2) מחזירה ״john@example.ca״. הפונקציה =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", -1) מחזירה ״mikeexample.de״. הפונקציה =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 1, 1) מחזירה ״marina״. הפונקציה =REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2, 2) מחזירה ״example.ca״. |