Artículos
Java

Extraer contenido con delimitadores dinámicos

30/May/2010

Una muy buena observación que nos hicieron en el artículo Extraer contenido separado por delimitadores con Java es que el uso de StringTokenizer limita la extracción de contenido. Sobre todo si los delimitadores son dinámicos, ya que StringTokenizer no permite el uso de expresiones regulares.

Imaginemos que el texto que nos envían para extraer los items tiene la siguiente estructura:

String sCiudades = "#01avila#02madrid#03toledo#04santander";

Podemos comprobar que los delimitadores son dinámicos y que siguen la pauta de una almohadilla y un par de dígitos de separación, los cuales van incrementando.

Lo primero es encontrar una expresión regular para este delimitador dinámico. Podría ser:

#0[0-9]

Ahora, nos vamos a apoyar en el método .split() para dividir la cadena con la expresión regular y quedarnos con los items de resultado.

String[] items = sCiudades.split("#0[0-9]");

Vemos que el método .split() nos devuelve un array de String. Así que solo nos quedará el recorrer el array para mostrar el contenido. Para ello utilizamos una estructura for-each

for (String item: items)
  System.out.println(item);

Quisiéramos agradecer a personas como Unai estos aportes tan gratificantes de contenido que ayudan a que todos podamos aprender un poco más.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
3 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios