Hola,
Estoy intentando reemplazar en una cadena de texto la subcadena \, (es una barra invertida y una coma). Para ello he provado con el siguiente código (entre muchos, este me parece el más lógico):
Código:
String a = <<leo de un fichero el siguiente texto, por ej: "Hola \, que tal">>
int indexComaEscapada = a.indexOf("\\,");
if (indexComaEscapada>=0)
a = a.replaceAll("\\,", ",");
Como resultado me queda exactamente la cadena original. Sin embargo, si pruebo a sustituirlo así:
Código:
a=a.replaceAll("\\,"pepe")
la cadena que me resulta sería
"Hola \pepe que tal"
es decir, me sustituye la coma por "pepe", pero pasa totalmente de las barras.
¿Alguna idea de como realizar la sustitución? (Bueno, el caso ya lo tengo solucionado haciendo dos substring con el indexOf, el cual si funciona, pero por curiosidad me gustaría saber si se puede hacer con el replaceAll) ¿Sabeis por qué pasa totalmente de las barras escapadas en el replaces (pese a que en la parte de patrones aparece la \\ como caracter de escape)? Por cierto, estoy con java 1.4.2
Gracias y un saludo