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)