Leer tokens vacios en un StringTokenizer
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.
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.
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...
gracias, al final he sustituido ;; por ; ;, y he controlado el ; del final controlando la excepcion q se genera
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
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
En lugar de utilizar un StringTokenizer es puede utilizar el metodo split de la clase String.
String[] valores = cadena.split(";");
String[] valores = cadena.split(";");
