¿Cómo eliminar la barra invertida en cadena utilizando expresiones regulares en Java?¿Cómo eliminar la barra invertida en cadena utilizando expresiones regulares en Java?
Por ejemplo:
hai how are\ you?
sólo quiero:
hai how are you?
¿Cómo eliminar la barra invertida en cadena utilizando expresiones regulares en Java?¿Cómo eliminar la barra invertida en cadena utilizando expresiones regulares en Java?
Por ejemplo:
hai how are\ you?
sólo quiero:
hai how are you?
str = str.replaceAll("\\\\", "");
o
str = str.replace("\\", "");
replaceAll()
trata el primer argumento como una expresión regular, por lo que debe duplicar la barra invertida. replace()
lo trata como una cadena literal, por lo que solo tiene que escapar una vez.
puede simplemente usar String.replaceAll()
String foo = "hai how are\\ you?";
String bar = foo.replaceAll("\\\\", "");
Cadena foo = "hai how are \ you?"; String bar = foo.replaceAll ("\\", ""); No funciona java.util.regex.PatternSyntaxException se produce .... ¡Descubre el motivo! @Alan ya ha respondido ... bueno
String bar = foo.replace ("\\", ""); Funciona
bueno, gracias ........... –
Umm ... ¿es eso correcto? ¿No necesitas escapar del '\' dos veces? Una vez para la cadena literal y una para la expresión regular; p.ej. 'foo.replaceAll (" \\\\ "," ")' –
@Stephen, parece que estás en lo correcto, solucionado en consecuencia –