Leer tokens vacios en un StringTokenizer

averia
03 de Junio del 2004
Hola a todos:
Tengo un problema: quiero leer un registro con un numero fijo de valores separados por ";". Lo malo es q permito que algun valor no aparezca, osea ";;" en cuyo caso quiero q ponga "; ;".
Estoy usando StringTokenizer y el metodo nextToken, pero en esos casos, no hace caso a ese token y continua con el siguiente.
¿Alguien sabe alguna solucion para mi problema? Gracias.

pame
03 de Junio del 2004
todos los separadores en tokens ke conozco no separan en lo ke le digas comas en tu caso.. si entere las comas no hay nada no te va a devolver nada. es decir, no lo va a considerar como un token y va a saltar al siguiente.. si puedes pon entre las comas un espacio en blanco...

averia
03 de Junio del 2004
gracias, al final he sustituido ;; por ; ;, y he controlado el ; del final controlando la excepcion q se genera

eldrum
03 de Junio del 2004
Una posible solucion es la de crear un StringTokenizer con tres parametros (cadena_a_separara, lista_separadores, bandera)

La bandera es un booleano, si la pones como true entonces el String Tokenizer dara significado a los separadores, y te los devolvera mediante el metodo nextToken. Por ejemplo StringTokenizer("Hola mundo"," ", true) devolveria <Hola>, < >, <mundo>.

De esa manera podrias ir contando los campos que aparecen y haciendo otras comprobaciones

Andres Esteban
01 de Marzo del 2011
En lugar de utilizar un StringTokenizer es puede utilizar el metodo split de la clase String.

String[] valores = cadena.split(";");