.split () una cadena que contiene los caracteres "++"

ltd9938:

Supongamos que tengo este bloque de código:

String x = "Hello ++ World!";
if(x.contains(" ++ "))
    System.out.println(x.split(" ++ ")[0]);

¿Por qué es que cuando ejecuto el código recibo de la salida:

  • Hello ++ World!en lugar de Hello?

Es obvio que tiene algo que ver con el split(), sin embargo, no puedo entenderlo.

Nikolas:

El método String::splitutiliza Regex para la división. Su expresión " ++ "es una expresión regular y el +personaje tiene un significado especial. A partir de la documentación:

Divide esta cadena alrededor de coincidencias de la expresión regular dada.

Tienes que escapar estos caracteres:

System.out.println(x.split(" \\+\\+ ")[0]);

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=224169&siteId=1
Recomendado
Clasificación