StringTokenizer - Como funciona?

3 respostas
Marques

Lista,

Tenho esse String:

"05/06/2006;17:39:18;01301;AGV;13;150;AGRIVALE;160;;;;;;;;;;;;;;;;;;;;;;;;;;;;4045113001335;Italia Muscat;Caixa 4,5 Kg;160;01;Copacabana Gold;NE;Y;PAPEL BRANCO;61 ;05/06/2006;19:04:11;SUDU5117447;[telefone removido];;SUDG 0470180;ALIANCA EUROPA;21;;;;;;;;;;;;;;;;;;;;; ; ;"

E gostaria de "pegar" cada campo separado por ponto e vírgula. Inclusive os que está "".

Como fiz:

StringTokenizer st = new StringTokenizer(linha, ";");
			String[] elem = new String[st.countTokens()];
			
			System.out.println(linha);
			
			for (int i = 0; st.hasMoreTokens(); i++){
				System.out.println("Campo " + i + " " + st.nextToken());
			}
		}

Porém dessa forma ele só devolve os campos com algum valor. Como resolver essa paradinha?

Muito obrigado,

Marques

3 Respostas

T

Não use StringTokenizer; ele não serve para pegar strings vazias. No seu caso, String.split é suficiente.

String s = "05/06/2006;17:39:18;01301;AGV;13;150;AGRIVALE;160;;;;;;;;;;;;;;;;;;;;;;;;;;;;4045113001335;Italia Muscat;Caixa 4,5 Kg;160;01;Copacabana Gold;NE;Y;PAPEL BRANCO;61 ;05/06/2006;19:04:11;SUDU5117447;[telefone removido];;SUDG 0470180;ALIANCA EUROPA;21;;;;;;;;;;;;;;;;;;;;; ; ;"; 
String[] campos = s.split (";");
Marques

Valeu thingol!!!

quaresma

Como é que eu faria para jogar esses dados 1 por 1 em varias textfields?

Criado 23 de agosto de 2006
Ultima resposta 4 de fev. de 2011
Respostas 3
Participantes 3