Saltar al contenido

Reemplazo simple de Groovy usando expresiones regulares

Solución:

Reconozco dos errores en tu código. El primero es probablemente un error tipográfico: no está entre comillas el número de teléfono, por lo que es un número entero: 1 + 555 – 555 – 5555 = -5554

Además, debes usar replaceFirst ya que no hay metodo replace en String tomando un patrón como primer parámetro. Esto funciona:

def mphone = "1+555-555-5555"
result = mphone.replaceFirst(/^1/, "")

replace es un método java de la cadena de Java, que reemplaza un carácter con otro:

assert "1+555-551-5551".replace('1', ' ') == " +555-55 -555 "

Lo que estas buscando es replaceAll, que reemplazaría todas las apariciones de una expresión regular, o replaceFirst, que reemplazaría solo la primera aparición:

assert "1+555-551-5551".replaceAll(/1/, "") == "+555-55-555"
assert "1+555-551-5551".replaceFirst(/1/, "") == "+555-551-5551"

los ^ en su expresión regular significa que debe estar al principio:

assert "1+555-551-5551".replaceAll(/^1/, "") == "+555-551-5551"

por lo que el código que publicaste era casi correcto.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *