es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Divida ciertas partes de la cadena con diferentes signos de separación.

Entonces, por ejemplo, si tengo:

String test = "test DE;IT;ES;CH;AU;FR";

Con

String[] split = test.split(";");

Podría dividir la cadena y colocar las partes individuales en un array.

Sin embargo, lo que quiero es que, por ejemplo, si tengo la misma cadena:

String test2 = "test DE; IT;ES ;CH;AU;FR";

pero esta vez hay espacios aleatorios entre ellos. Quiero mantener esos espacios. El problema es que, si solo uso “;” como una expresión regular, la primera palabra sería “test DE” en lugar de “test” siendo su propia cadena y “DE” siendo su propia cadena.

Entonces, el resultado deseado para un array en este caso sería: [test,DE, IT,ES ,CH,AU,FR] (Eliminé los espacios normales después de la coma para que sea más claro)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para lograr el resultado deseado, podrías usar la expresión regular \\s*;\\s*, en lugar de solo ;, para dividir la cadena. Esta expresión regular coincidirá con cualquier cantidad de espacios en blanco (incluyendo ninguno) antes y después del punto y coma, lo que permitirá preservar los espacios dentro de las partes individuales de la cadena. Aquí tienes un ejemplo de código:

    String test2 = "test DE; IT;ES ;CH;AU;FR";
    String[] split = test2.split("\\s*;\\s*"); // usar la expresión regular modificada
    System.out.println(Arrays.toString(split)); // resultado: [test, DE, IT, ES ,CH, AU, FR]
    

Comments are closed.