[RESOLVIDO] Percorrer e salvar parte de uma string

Olá queridos colegas!! :smiley:

É uma dúvida super basica :oops: , mas não estou lembrando como fazer essa manipulação de string…

Preciso de uma função que me permita percorrer uma string e salvar até onde percorri quando encontrar um espaço em branco.
Pensei em usar split(), substring(), mas não achei um jeito…
Tipo:

Nesse caso, eu queria que o retorno fosse apenas “Ticianne”.

string exemplo = "Ticianne Ribeiro" 
funçãoQueProcuro(exemplo);

public String funçãoQueProcuro(String a){
       percorreAteAcharEspaço(a);
       string b = o que foi percorrido até aqui;
return b;
}

Entendem?
Agradeço quem puder ajudar!!!
Abraço!!!

Vamos lá pessoal… qualquer coisa que possa ajudar pelo menos em parte já ajuda! :wink:

Ok, já resolvi!!

Fica aqui pra quem precisar depois:

String teste = "Ticianne Ribeiro";  
		      //aqui ele pega a quantidade de carcteres que tem uma determinada variável  
		      //e armazena numa INT para usá-la de contador  
		      int contador = teste.length();  
		         
		      //cria um for( para fazer uma varredura letra por letra até encontrar  
		      for(int i = 0;i<contador;i++){  
		         //usamos substring pra pegar um caractere, passando como parâmetro,  
		          //o primeiro caractere a ser pega, até a ultima.  
		          //fiz um if para verificar se o caractere é igual a " "  
		          if (teste.substring(i,i+1).equals(" ")){  
		             int posicao = i+1;  
		             System.out.println("Está na posição " + posicao); 
		             System.out.println(teste.substring(0, posicao));
		          }}

faz assim: use o método lastIndexOf da classe String e passa como parametro um espaço em branco ficando assim:

suavariavel.IndexOf(" ");

Esse método retorna o indice(indice sempre começando de 0 claro) onde está a string que vc passou como parametro (neste caso o espaço).
ai é só vc pegar com o substring indo da primeira posiçao até a posição retornada por esse método.

é bom lembrar que também tem o método lastIndexOf que retorna a ultima vez que apareceu a string passada como parametro.

esse é apenas um jeito beeeeem simples de fazer o que vc ker. espero ter ajudado

Você pode fazer com Scanner tbm…o delimitador padrão é o espaço em branco…

  public static void main(String[] args) {
		String exemplo = "Ticianne Ribeiro";
		String resultado = "";

		Scanner sc = new Scanner(exemplo);

		while (sc.hasNext()) {

			resultado += sc.next();
			break;

		}

		System.out.println(resultado );

	}

Muito bom, Rodrigo!! não lembrava desse método indexOf()!!!

De qualquer jeito, o outro também, funciona, mas esse fica 10x mais simples. :stuck_out_tongue:

 String teste = "Ticianne Ribeiro";  
		  System.out.println(teste.substring(0, teste.indexOf(" ")));

Thanks!!

1 curtida

Boa tarde.

“Revivendo” o tópico porque vi que comentou sobre Split. Caso queira usar para o seu problema também é simples e já serve como exemplo para outras necessidades, caso queira.

String exemplo = "Ticianne Ribeiro"; String[] saida = exemplo.split(" "); //Ticianne System.out.println(saida[0]); //Ribeiro System.out.println(saida[1]);

Ok? :slight_smile:

1 curtida