Como buscar as próximas ocorrências numa String?

4 respostas
D

Imagine a seguinte String: String wkk = “1234|teste|laranja|12,33|sabado”;

Para buscar o primeiro campo, posso utilizar
System.out.println(wkk.substring(0,wkk.indexOf(|)); // retorna 1234

E para buscar o segundo campo?
System.out.println(wkk.substring(wkk.indexOf(|)+1,???); //

4 Respostas

Andre_Fonseca

oi,

se vc tem como separador o “|” já tentou usar o método split?

abs

ctdaa

Faça split:

String wkk = "1234|teste|laranja|12,33|sabado"; 
       String[] result = wkk.split("|");
        int x=0;
        while (x < result.length ) {  
          System.out.println(result[x++]);
        }
ctdaa

Com Tokenizer:

String wkk = "1234|teste|laranja|12,33|sabado";   
        StringTokenizer st = new StringTokenizer(wkk, "|", false);
        while (st.hasMoreTokens()) {
          System.out.println(st.nextToken());
        }
A

Se você quiser continuar usando somente indexOf:

String wkk = "1234|teste|laranja|12,33|sabado"; 

int index1 = wkk.indexOf("|");
System.out.println(wkk.substring(0, index1));
		
index1++;

int index2 = wkk.indexOf("|", index1);
System.out.println(wkk.substring(index1, index2));

Da pra montar uma lógica que busque até o fim da variavel… ou faz como descrito nos itens anteriores e usa split ou StringTokenizer

Criado 29 de janeiro de 2010
Ultima resposta 29 de jan. de 2010
Respostas 4
Participantes 4