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:
Como resultado me queda exactamente la cadena original. Sin embargo, si pruebo a sustituirlo así:String a = <<leo de un fichero el siguiente texto, por ej: "Hola \, que tal">> int indexComaEscapada = a.indexOf("\\,"); if (indexComaEscapada>=0) a = a.replaceAll("\\,", ",");
Código:
la cadena que me resulta seríaa=a.replaceAll("\\,"pepe")
"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