re.replace
re.replace(stringText, replaceRegex, replacementText)
תיאור
מבצעת החלפה של ביטוי רגולרי.
הפונקציה הזו מקבלת שלושה ארגומנטים:
-
stringText: המחרוזת המקורית. -
replaceRegex: הביטוי הרגולרי שמציין את התבנית לחיפוש. -
replacementText: הטקסט שרוצים להוסיף לכל התאמה.
הפונקציה מחזירה מחרוזת חדשה שנגזרת מהמחרוזת המקורית stringText, שבה כל מחרוזות המשנה שתואמות לתבנית ב-replaceRegex מוחלפות בערך ב-replacementText. אפשר להשתמש בספרות עם תו בריחה של קו נטוי הפוך (\1 עד \9) בתוך replacementText כדי להוסיף טקסט שתואם לקבוצה המקבילה בסוגריים בתבנית replaceRegex. משתמשים ב-\0 כדי להתייחס לכל הטקסט התואם.
הפונקציה מחליפה התאמות שלא חופפות, ותיתן עדיפות להחלפת המופע הראשון שנמצא. לדוגמה, הפונקציה re.replace("banana", "ana", "111") מחזירה את המחרוזת 'b111na'.
סוגי נתונים של פרמטרים
STRING, STRING, STRING
סוג הערך שמוחזר
STRING
דוגמאות קוד
דוגמה 1
בדוגמה הזו, הפונקציה לוכדת את כל מה שמופיע אחרי הסמל @ באימייל, מחליפה את com ב-org ומחזירה את התוצאה. שימו לב לשימוש בפונקציות מוטמעות.
"email@google.org" = re.replace($e.network.email.from, "com", "org")
דוגמה 2
בדוגמה הזו נעשה שימוש בספרות עם תו בריחה של לוכסן הפוך בארגומנט replacementText כדי להפנות להתאמות לתבנית replaceRegex.
"test1.com.google" = re.replace(
$e.principal.hostname, // holds "test1.test2.google.com"
"test2\.([a-z]*)\.([a-z]*)",
"\\2.\\1" // \\1 holds "google", \\2 holds "com"
)
דוגמה 3
חשוב לשים לב למקרים הבאים כשעובדים עם מחרוזות ריקות ועם re.replace():
שימוש במחרוזת ריקה בתור replaceRegex:
// In the function call below, if $e.principal.hostname contains "name",
// the result is: 1n1a1m1e1, because an empty string is found next to
// every character in `stringText`.
re.replace($e.principal.hostname, "", "1")
כדי להחליף מחרוזת ריקה, אפשר להשתמש ב-"^$" בתור replaceRegex:
// In the function call below, if $e.principal.hostname contains the empty
// string, "", the result is: "none".
re.replace($e.principal.hostname, "^$", "none")