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 - ABC LOJA]
Gostaria de obter somente os seguintes valores dentro de um array:
import java.util.StringTokenizer;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author desenv01
*/
public class Teste {
public static void main(String args[]) {
String s = "Clientes, 12345 - ABC LOJA";
StringTokenizer st = new StringTokenizer(s, ","); //quebra a string pelo caractere ","
st.nextToken(); //pula o primeiro elemento (Cliente)
String str = st.nextToken(); //recebe a outra parte da string (12345 - ABC LOJA)
st = new StringTokenizer(str, "-");
String[] vetor = new String[st.countTokens()];
for(int i = 0; i <= st.countTokens(); i++) {
vetor[i] = st.nextToken().trim();
}
for(int i = 0; i < vetor.length; i++) {
System.out.println(vetor[i]);
}
}
}
A classe StringTokenizer permite quebrar uma String em tokens (sentenças) separadas por delimitadores.
Exemplo do método split
import java.util.StringTokenizer;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author desenv01
*/
public class Teste {
public static void main(String args[]) {
String s = "TEXTO1 TEXTO2 TEXTO3";
String[] str = s.split(" "); //quebra a String pelo espaco
for(int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}
}
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…