re.replace
re.replace(stringText, replaceRegex, replacementText)
Descripción
Realiza una sustitución de expresiones regulares.
Esta función toma tres argumentos:
stringText
: la cadena original.replaceRegex
: la expresión regular que indica el patrón que se va a buscar.replacementText
: el texto que se insertará en cada coincidencia.
Devuelve una cadena nueva derivada de la cadena stringText
original, donde todas las subcadenas que coinciden con el patrón de replaceRegex
se sustituyen por el valor de replacementText
. Puedes usar dígitos de escape con barras inversas (\1
a \9
) dentro de replacementText
para insertar texto que coincida con el grupo entre paréntesis correspondiente en el patrón replaceRegex
. Usa \0
para referirte a todo el texto que coincida.
La función sustituye las coincidencias que no se superponen y prioriza la sustitución de la primera coincidencia encontrada. Por ejemplo, re.replace("banana", "ana", "111")
devuelve la cadena "b111na".
Tipos de datos de parámetros
STRING
, STRING
, STRING
Tipo de devolución
STRING
Códigos de ejemplo
Ejemplo 1
En este ejemplo, se captura todo lo que hay después del símbolo @
en un correo, se sustituye com
por org
y, a continuación, se devuelve el resultado. Fíjate en el uso de funciones anidadas.
"email@google.org" = re.replace($e.network.email.from, "com", "org")
Ejemplo 2
En este ejemplo se usan dígitos de escape con barras inversas en el argumento replacementText
para hacer referencia a las coincidencias del patrón 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"
)
Ejemplo 3
Ten en cuenta los siguientes casos cuando trabajes con cadenas vacías y re.replace()
:
Uso de una cadena vacía como 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")
Para sustituir una cadena vacía, puedes usar "^$"
como replaceRegex
:
// In the function call below, if $e.principal.hostname contains the empty
// string, "", the result is: "none".
re.replace($e.principal.hostname, "^$", "none")