Busca em texto?

1 resposta
I

ola pessoal , alguem poderia me dizer como faço uma busca por uma palavra em um dado do tipo text, tipo vou pegar um dado que veiu do form e vou procurar esse dado em todos os registros da tabela texto que contem a coluna str_texto pois ae quero mostrar na tela o texto com a palavra (o dado do form) em negrito , mas estou tendo dificuldades , eu nao sei … meu banco de dados e mysql e estou usando jsp para fazer tudo , sei que e errado usar jsp para tudo principalmente para conexao mas e so para testes, se alguem puder me dar o caminho das pedras ficarei muito grato, pois nao sei mesmo procurar por uma palavra em um dado do tipo text e principalmente colocala em negrito …



Muito Obrigado

Abraços IZACK

1 Resposta

J
É simples, depois que vc recuperar a String do banco, vc, claro, joga o valor em uma variavel do tipo String. Daí, para encontrar a palavra basta fazer:





// palavra que vc vai deixar em negrito


String palavra = "teste";


// indice de inicio da palavra


int indice = stringVeioDoBanco.indexOf(teste);





Isso retorna o indice de inicio da palavra que vc quer. , para deixar em negrito vc faz:





// Montando a String que ira conter os negritos


StringBuffer comNegrito = new StringBuffer();


comNegrito.append(stringVeioDoBanco.substring(0,indice));


//Colocando a tag <b> antes da palavra que ficara em negrito


comNegrito.append("<b>" + palavra);


// pegando o indice do fim da palavra


int indiceFim = indice + palavra.length();


//Colocando a tag <b> depois da palavra que ficara em negrito


comNegrito.append("</b>" + stringVeioDoBanco.substring(indiceFim));





// A string montada…


String negrito = comNegrito.toString();





Não testei isso(mas tenho quase certeza de que funciona) e não sei se é a mehor maneira de fazer. Talvez vc deva fazer alguns ajustes nos indices apenas.





valeuz
Criado 20 de março de 2003
Ultima resposta 20 de mar. de 2003
Respostas 1
Participantes 2