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)
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: