2009-05-07 11 views
9

¿Cuál es la expresión regular para quitar la parte MY-CORP \ de una cadena incrustada como MY-CORP \ My.Name con el método java String.replaceAll para que solo pueda obtener la parte My.Name?Java String.replaceAll regex

me trataron

public static String stripDomain(String userWithDomain) { 
    return userWithDomain.replaceAll("^.*\\", ""); 
} 

pero Tengo error interno inesperado cerca de índice de 4 ^. *

Respuesta

12

Su problema es que la barra diagonal inversa tiene un significado especial tanto en cadenas Java como en expresiones regulares. Por lo tanto, necesita cuatro barras en el código fuente de Java, pasando dos al analizador de expresiones regulares para obtener uno literal en la expresión regular:

return userWithDomain.replaceAll("^.*\\\\", ""); 
Cuestiones relacionadas