Boa tarde a todos.
A minha duvida é simples, mas ainda não domino o Java muito berm como outras linguagens.
Eu tenho uma string: “código - descrição”. Ex.: “01 - Setor de Vendas”.
Tenho que pegar o valor de 01 e atualizar um campo na tabela do banco e
depois o valor da descrição e atualizar outro campo.
Como eu faço isso??? Pegar o valor antes do " - " e o valor depois?
Procurei no forum mas não achei resposta.
Obrigado.
String a = "01 - Setor de Vendas";
String[] asDuas = a.split("-");
System.out.println(asDuas[0]);
System.out.println(asDuas[1]);
é isso?
brow,tb so iniciante em java,mas o propia sql ja faz isso em sqlServer a funcao e substring ai tem q ver qual banco vc esta usando.
Você pode usar o método split() da classe String.
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#split(java.lang.String)
Use split ex:
String ocorrencia = "xx-123456";
String valores[] = ocorrencia.split("-");
System.out.println("parte1" + valores[0]);
System.out.println("parte2" + valores[1]);
Obrigado a todos eu procurei um pouco mais.
E resolvi o problema usando StringTokenizer.
Muito obrigado novamente.
Creio que com split fica mais rápido!
OK vou tentar com split.
Vou seguir o conselho de quem tem mais experiencia.
Obrigasdo novamente.
split() fica sim mais rápido …
Ou não ???
acho q sim.
iai pessoal alguem exclarece nossa duvida ? split() é melhor que a classe StringTokenizer ???
String.split é muito mais flexível que a classe StringTokenizer, e menos sujeita a erros estúpidos.
Não recomendo o uso de StringTokenizer a menos que você esteja desenvolvendo ou mantendo um programa em Java 1.3 ou anterior.
Agora se é mais rápida ou não, isso só testando.
Acredito que String.split seja até mais rápida para o usuário normal de StringTokenizer porque você não precisa fazer uma porção de testes que são necessários para o uso de StringTokenizer.
Mas o problema é que StringTokenizer simplesmente não é apropriada para a maior parte dos casos.
Um exemplo clássico é ler arquivos CSV (“comma-separated values”); esses arquivos devem ser lidos com StreamTokenizer, não StringTokenizer.