Utilizando .split

1 resposta
R
String [] atributos;


	linha = ler.readLine()
	//linha = "5707|'W R MOTO PE.AS LTDA|  [telefone removido]|RUA B GARCIA|8|LJ 5|x|37270000|CAMPO BELO|MG|"
	atributos = linha.split("|");
					
					for(int x =0; x<12; x++){
					System.out.println("Pos "+x +" "+ atributos[x]);
					}

Isso é o que esta sendo impresso:

Pos 0
Pos 1 5
Pos 2 7
Pos 3 0
Pos 4 7
Pos 5 |
Pos 6 '
Pos 7 W
Pos 8
Pos 9 R
Pos 10
Pos 11 M

Nao deveria imprimir assim?

Pos 0 5707
Pos 1 'W R MOTO PE.AS LTDA
Pos 2 [telefone removido]
Pos 3 RUA B GARCIA
Pos 4 8.
.
.
POS 10 MG
Pos 11

1 Resposta

T

“|” é um caracter especial para expressões regulares (é o operador “or”).

Se precisar usar o “|” como “|”, não como especial, você pode fazer:

atributos = linha.split("\|");

ou então:

atributos = linha.split("[|]");

ou então:

atributos = linha.split(Pattern.quote ("|"));

Criado 26 de fevereiro de 2009
Ultima resposta 26 de fev. de 2009
Respostas 1
Participantes 2