String replaceAll () método e caracteres de escape
A linha
System.out.println("\\");
imprime uma única barra invertida (\
). E
System.out.println("\\\\");
imprime barras invertidas duplas (\\
). Entendido!
Mas por que no seguinte código:
class ReplaceTest
{
public static void main(String[] args)
{
String s = "hello.world";
s = s.replaceAll("\\.", "\\\\");
System.out.println(s);
}
}
é a saída:
hello\world
ao invés de
hello\\world
Afinal, oreplaceAll()
método está substituindo um ponto (\\.
) com (\\\\
).
Alguém pode explicar isso?