usando a classe string tokenizer para eliminar espacos desnecessarios de um registo  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
mdmatsinhe
Smalltalk

Membro desde: 26/03/2007 17:01:05
Mensagens: 3
Localização: Maputo
Offline

Ola pessoal, tenho um pequeno sistema de registo de estudantes em Java, com banco de dados mysql, queria que me ajudassem a solucionar o seguinte problema. Na digitacao de dados, os nomes dos estudantes foram mal digitados, isto porque, possivelmente o operador usou o tabulador e nao controlou os espacos. O que ta a acontecer é que muitas vezes quando tento pesquisar um registo usando o LIKE, nos casos em que existe esse erro, ele nao encontra o registro. Sao situacoes do tipo:

- ele encontra este nome porque nao tem o referido problema

casos como:

nao sao reconhecidos. gostaria que me ajudassem, atraves duma query ou dum algoritmo a detectar e resolver estas situacoes. O banco de dados ta com cerca de 15000 registos. To a pensar em usar a classe String tokenizer (para eliminar os espacos), mas nao domino. Peco que me deem uma orientacao
[Email] [MSN]
jcvijr
JavaChild
[Avatar]

Membro desde: 15/04/2005 17:10:06
Mensagens: 111
Offline

Seria algo assim:



Espero ter ajudado..

Ah, Java é uma ilha da Indonésia - um designer intrometido
[WWW] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

É recomendável pegar um tempinho e escrever um programa que normalize os nomes no seu banco de dados, para que você não tenha mais esse problema.
Por exemplo, deixe os nomes todos em maiúsculas, e com apenas um espaço entre cada palavra.
Dica: prefira não usar StringTokenizer; é uma classe muito antiga e difícil de usar - e a própria documentação indica para não usá-la em novos projetos. (Só que os livros didáticos ainda continuam a ensiná-la, provavelmente porque os professores nunca atualizaram seus livros )

[WWW]
hugo_pinho
What is classpath?

Membro desde: 15/12/2008 15:06:17
Mensagens: 5
Offline

Rafa Ferrari
JavaChild
[Avatar]
Membro desde: 27/10/2009 12:07:09
Mensagens: 127
Localização: Florianópolis - SC
Offline

mt bom, mesmo sendo um topico antigo me ajudo bastante

Só em Jesus há salvação!
[Email]
Solfier
Entusiasta Java

Membro desde: 09/03/2009 09:01:31
Mensagens: 21
Offline

Me ajudou tb , obrigado
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Só tem um detalhe. Desde o Java 5, o StringTokenizer deve ser substituído pelo método split.
E a classe StringBuilder deve substituir a classe StringBuffer.

O código do Hugo Pinho, hoje em dia, fica assim:



Por isso é bom tomar cuidado ao copiar de tópicos velhos.

This message was edited 3 times. Last update was at 17/09/2010 14:10:02


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Douglas da Costa Antonio
Smalltalk
[Avatar]

Membro desde: 24/10/2010 13:23:14
Mensagens: 3
Offline

"Só tem um detalhe. Desde o Java 5, o StringTokenizer deve ser substituído pelo método split.
E a classe StringBuilder deve substituir a classe StringBuffer.

O código do Hugo Pinho, hoje em dia, fica assim:"

Texto de ViniGodoy

Porque a o StringTokenizer deve ser substituido.

[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Por que o split faz a mesma coisa, de uma maneira mais rápida, mais simples e mais poderosa. Além disso, a classe foi mantida só por questões de legado.
Na dúvida, leia a última linha da descrição da classe, no Javadoc:
http://download.oracle.com/javase/1.5.0/docs/api/java/util/StringTokenizer.html

StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team