Como separ string?

7 respostas
S

Bom eu tenho um exercicio pratico para fazer…alguem pode me ajudar?

bom, eu tenho que criar um programa que o usuario entra com cinco dados…

por exemplo…

maça, pera, laranja, limão, abacaxi…

bom uma string receberia isso certo?

agora eu preciso separa-las e inserir cada palavra em um conjunto!!

eu usei o

int teste = indexOf (’ , ');

para separ as palavras…

ai que está o grande problema eu consigo ler apenas as duas primeiras palavras…eu fiz assim!!

Set palavras = new HashSet();


public String leConjunto() {

String p = lePalavra(System.in);

int teste = p.indexOf(,);
try {
		
		String s1 = p.substring(0, teste);
		palavras.add(s1);
                                            String s2 = p.substring(teste+1,p.lenght);
	palavras.add(s2);	
		

	} catch (IllegalArgumentException e) {
		return e.getMessage();
	}
	
	return p;
}

ALGUEM PODE ME AJUDAR A fazer com que RECEBA todas as cinco PALAVRAS???

valew!!

7 Respostas

J

Tente separarar a String com este codigo:

String nome1 = nome.substring(0,nome.indexOf(" "));//até o primeiro espaço

String sobrenome = nome.substring(nome.indexOf(" ") +1,nome.length());//depois do primeiro espaço

também tem o lastIndesOf que pega a ultima parte do texto...

Usei estes comandos para separ nome e sobrenome..espero ter ajudado!!

S

cara muito obrigado…

mais esse codigo que vc fez é praticamente o mesmo que eu fiz…

tipo ele só é capaz de ler as duas primeiras palavras

porque esse nome.indexOf(’ , ') +1;

ele vai pegar todo o resto da frase depois da virgula…

ou seja…a segunda palavra será…

exem, teste, erro…

COMO EU FAÇO PARA PODER LER A TERCEIRA PALAVRA???

obrigado!!

M

tente isso, é um pouco “bruto” mais da pro galho…

String str = "wendeson,da,silva,oliveira";
    	int count = 0;
    	String substring;
    	while((count = str.indexOf(",")) != -1){
    		substring = str.substring(0,count);
    		System.out.println(substring);
    		str = str.substring(count+1,str.length());
    	}
    	
    	System.out.println(str.substring(0,str.length()));
C

split nao serve?

J

Cara eu sei que eu tenho o codigo em algum lugar…quando eu achar eu posto…

S

Muito obrigado pela ajuda todos…

mais muito obrigado msm marx_payner

kara valew mesmo !!

espero um dia ajudar também…

falo !!

Comedy forever!!!

S

Se vc tiver a itenção de comparar palavras de dois conjuntos!! detalhe!!

Ae galera falta um detalhe muito importante que descobri aqui no código

String str = "wendeson,da,silva,oliveira"; 
       int count = 0; 
       String substring; 
       while((count = str.indexOf(",")) != -1){ 
          substring = str.substring(0,count); 
          System.out.println(substring); 
          str = str.substring(count+1,str.length()); 
       } 
        
       System.out.println(str.substring(0,str.length()));

então é preciso usar o "trim" porque uma palavras assim por exemplo:

( pera) é diferente de (pera)...
ou seja...o espaço serve como uma caracter!!!...

o "trim" elimina esse espaço... assim podendo ocorrer certo!!

Set palavras = new HashSet();
//....

//....

//....

while ((count = conj.indexOf(",")) != -1) {
     String parte = str.substring(0, count);
     palavras.add(parte.trim());
     str = str.substring(parte.length()+1, str.length());
			}

     palavras.add(str.substring(0, str.length()).trim());

espero ter retribuido na minha duvida!!!....achei soluções rs;...;

Criado 10 de abril de 2007
Ultima resposta 12 de abr. de 2007
Respostas 7
Participantes 4