Ciąg znaków replaceAll () i znaki ucieczki
Linia
System.out.println("\\");
drukuje pojedynczy ukośnik (\
). I
System.out.println("\\\\");
drukuje podwójne ukośniki (\\
). Zrozumiany!
Ale dlaczego w następującym kodzie:
class ReplaceTest
{
public static void main(String[] args)
{
String s = "hello.world";
s = s.replaceAll("\\.", "\\\\");
System.out.println(s);
}
}
jest wyjście:
hello\world
zamiast
hello\\world
W końcureplaceAll()
metoda zastępuje kropkę (\\.
) z (\\\\
).
Czy ktoś może to wyjaśnić?