Estaba viendo parte del código jdk. Encontré estos personajes. ¿Podría alguien explicarme qué significan estos?¿Qué significan estos caracteres especiales en Java?
public static String quote(String s) {
int slashEIndex = s.indexOf("\\E"); // What does this mean. Is this a special char in java. if so what does this do.
if (slashEIndex == -1)
return "\\Q" + s + "\\E";
StringBuilder sb = new StringBuilder(s.length() * 2);
sb.append("\\Q");
slashEIndex = 0;
int current = 0;
while ((slashEIndex = s.indexOf("\\E", current)) != -1) {
sb.append(s.substring(current, slashEIndex));
current = slashEIndex + 2;
sb.append("\\E\\\\E\\Q");
}
sb.append(s.substring(current, s.length()));
sb.append("\\E");
return sb.toString();
}
Desde el ejemplo de código anterior yo era capaz de averiguar lo que está sucediendo como en el método encuentra las ocurrencias de \ y los convierte a \ E y \ Q. ¿Podría alguien explicar por qué ese es el caso?
Para más contexto sobre este método, que estaba buscando en el método Pattern.quote() de JDK 1.6
Este código aparece a ser [sacan directamente de fuentes de Java] (http://www.docjar.com/html/api/java /util/regex/Pattern.java.html) ('Pattern.java', líneas 1276..1293). – dasblinkenlight
Sí, es de las fuentes jdk Pattern.java – JourneyMan