Já pesquisei no google, achei bastante material sobre o assunto, porém ainda estou tendo dificuldades de obter dados de uma string através de expressões regulares. Se caso alguem puder me ajudar em resolver isso eu agradeço.
Tenho uma string com o seguinte valor:
Ex.:
[Clientes,12345-ABCLOJA]
Gostaria de obter somente os seguintes valores dentro de um array:
cara, da uma procurada sobre o método SPLIT de strings…
wesley.comput
Dá pra usar StringTokenizer neste caso:
importjava.util.StringTokenizer;/* * To change this template, choose Tools | Templates * and open the template in the editor. *//** * * @author desenv01 */publicclassTeste{publicstaticvoidmain(Stringargs[]){Strings="Clientes, 12345 - ABC LOJA";StringTokenizerst=newStringTokenizer(s,",");//quebra a string pelo caractere ","st.nextToken();//pula o primeiro elemento (Cliente)Stringstr=st.nextToken();//recebe a outra parte da string (12345 - ABC LOJA)st=newStringTokenizer(str,"-");String[]vetor=newString[st.countTokens()];for(inti=0;i<=st.countTokens();i++){vetor[i]=st.nextToken().trim();}for(inti=0;i<vetor.length;i++){System.out.println(vetor[i]);}}}
M
MaSCaRaDe
Obrigado pela ajuda srs.!! Consegui resolver o problema com a dica do wesley!
T
Thiago_Domingues
qual a diferença entre o método Split e a Classe Tokenizer?? essa eu não conhecia…
T
Thiago_Domingues
qual a diferença entre o método Split e a Classe Tokenizer?? essa eu não conhecia…
wesley.comput
A classe StringTokenizer permite quebrar uma String em tokens (sentenças) separadas por delimitadores.
Exemplo do método split
importjava.util.StringTokenizer;/* * To change this template, choose Tools | Templates * and open the template in the editor. *//** * * @author desenv01 */publicclassTeste{publicstaticvoidmain(Stringargs[]){Strings="TEXTO1 TEXTO2 TEXTO3";String[]str=s.split(" ");//quebra a String pelo espacofor(inti=0;i<str.length;i++){System.out.println(str[i]);}}}
T
Thiago_Domingues
legal…esse problema do nosso amigo poderia ter sido solucionado por SPLIT também, não? digo isso porque não conhecia a Tokenizer. Agora também tenho outra solução para mim mesmo…
M
MaSCaRaDe
Eu acho que não Thiago, pois a string não tinha somente 1 delimitador e sim, “dois delimitadores”; O “[Clientes,” no inicio, o “-” e o “]” no final.
Ou seja, minha string era:
[Clientes, 923723 - NOME DO CLIENTE]
O que eu queria receber no array era:
array[0] = 923723
array[1] = NOME DO CLIENTE
Acho que com o Split eu poderia resolver se a string fosse somente “923723 - NOME DO CLIENTE”, utilizando o “-” como delimitador.
Obrigado e abraços!
T
Thiago_Domingues
na verdade da sim, mas é uma solução muito “porca”…a sua solução ficou bem melhor…
gpd38
Como split nao da para escolher mais de um delimitador não?
tipo
split(";","-"," ");
Alguem sabe se isso a é possivel?
Se for como funcionaria no exemplo acima
B
Bruno_Laturner
gpd38:
Como split nao da para escolher mais de um delimitador não?
tipo
split(";","-"," ");
Alguem sabe se isso a é possivel?
Se for como funcionaria no exemplo acima