11 Voto

Java: Split en el punto str.split(".") no funciona

Pregunta de Invitado | 02/09/2020 a las 20:47

Tengo un problema extraño en uno de mis programas Java, que ya me ha costado horas. Estoy tratando de separar una cadena / string en un carácter, por lo que la función de explode clásica o exactamente la función split en Java.

Mientras este código funciona perfectamente

String str = "1;2;3";
String[] sarr = str.split(";");

inexplicablemente, la función se rinde cuando se usa un punto como separador:

String str = "1.2.3";
String[] sarr = str.split(".");

¿Que puedo hacer? Desafortunadamente, tengo que dividir mi cadena en un punto y me siento mal con una solución para reemplazar el punto con otro carácter que esté funcionando antes de dividir.

ResponderPositivoNegativo
1Mejor Respuesta1 Voto

La función split en Java espera una expresión regular (regex) como parámetro. Por lo tanto, el "." se interpreta como una expresión regular y en el mundo de las expresiones regulares, un punto es un carácter especial que puede representar cualquier otro carácter. Por tanto, la separación no funciona en su caso.

Para que funcione, pruébelo de esta manera:

String str = "1.2.3";
String[] sarr = str.split("\\.");

Con el prefijo \\ puede escapar del punto para que ya no se trate como un carácter especial.
02/09/2020 a las 23:00

ResponderPositivo Negativo
Responder

Temas Relacionados

Inglés: ¿"a user" o "an user"?

Pregunta | 1 Respuesta

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.