Como Percorrer uma String

4 respostas Resolvido
programaçãojava
AlisonSoldado

E aí pessoal! Beleza?
Tenho essa string pra percorrer:

[CarregarAtend{Contratos=[ListaContratos{Numero=400; Descricao=(400-A)net 1MB ; }]; Contatos=[ListaContatos{CodigoContato=36; NomeContato=Contato teste; }]; Complementos=[ListaComplementos{CodigoComplemento=500; NomeComplemento=Esposo(a); }, ListaComplementos{CodigoComplemento=600; NomeComplemento=Filho(a); }, ListaComplementos{CodigoComplemento=700; NomeComplemento=Irmão(a); }, ListaComplementos{CodigoComplemento=800; NomeComplemento=Mãe; }, ListaComplementos{CodigoComplemento=900; NomeComplemento=Neto(a); }, ListaComplementos{CodigoComplemento=1000; NomeComplemento=Pai; }, ListaComplementos{CodigoComplemento=1100; NomeComplemento=Primo(a); }, ListaComplementos{CodigoComplemento=1200; NomeComplemento=Sobrinho(a); }, ListaComplementos{CodigoComplemento=1300; NomeComplemento=Sogra(a); }, ListaComplementos{CodigoComplemento=1400; NomeComplemento=Sogro(a); }]; Topicos=[ListaTopicos{CodigoTopico=2; DescricaoTopico=Alterações no Cadastro; }]; }]

Como faço pra percorrer essa string e transformar ela numa lista no Java?

4 Respostas

drsmachado
Solucao aceita

Para percorrer: imprima-a em papel comum, espalhe sobre o chão e caminhe sobre ela. Você pode percorrê-la em qualquer sentido.
Brincadeiras à parte, você pode utilizar o método split() que “reparte” a String em partes, de acordo com um parâmetro:
String ex = "a;b;c;d;e;f;"; String[] partes = ex.split(";");
Detalhe: o parâmetro passado ao método split é interpretado como um regex. Se você entende de regex, tranquilo, senão, cuidado com coisas como:
String ex = "a|b|c|d|e|"; String[] partes = ex.split("|");
Isso dará um resultado diferente do esperado.
Depois de “repartir”, Arrays.asList() resolve a segunda questão.

AlisonSoldado

Valeu drsmachado! Deu certo :slight_smile:
E se eu quiser exibir só o conteúdo do “DescricaoTopico”, como eu faço? Por exemplo, fazer uma lista só com o conteúdo do “descricaoTopico”, ali no caso só tem o “Alterações no Cadastro”, se tivesse mais, como eu faria pra exibir em formato de lista?

drsmachado

Opa, que ótimo que funcionou.
Bom, aí você pode pegar cada “parte” e, novamente, “repartir”, de acordo com tua necessidade.
Também pode remover tudo o que precede o “DescricaoTopico”, dê uma olhada no método substring e no método indexOf(). Eles podem te ajudar a resolver este problema.

AlisonSoldado

Beleza, vou dar uma olhada. Obrigado!

Criado 7 de março de 2017
Ultima resposta 7 de mar. de 2017
Respostas 4
Participantes 2