Olá,
Peguei este código para retirar caracteres especiais de um String, porém ele também está retirando espaços em branco. Como eu altero o pattern para deixar os espaços em branco do jeito que estão?
public class CharacterStripper
{
public static void main(String[] args)
{
String testString = "120938H>?<E)(*l)(*L192L731O````W=-0O23423R2093820342L?><?>????D";
String pattern = "[^A-Z]";
String strippedString = testString.replaceAll(pattern, "");
System.out.println("Original String is: "+testString);
System.out.println("After Replacing Characters: "+strippedString);
}
}
Troque seu pattern por
String pattern = “[^A-Z^\s]”;
[quote=thiago.correa]Troque seu pattern por
String pattern = “[^A-Z^\s]”;[/quote]
Valeu
mais uma forma:
public String removerCaracteresEspeciais(String string) {
string = Normalizer.normalize(string, Normalizer.Form.NFD);
string = string.replaceAll("[^\\p{ASCII}]", "");
return string;
}
bem parecido, mas mais enxuto, eu acho
[quote=jessetsilva]mais uma forma:
public String removerCaracteresEspeciais(String string) {
string = Normalizer.normalize(string, Normalizer.Form.NFD);
string = string.replaceAll("[^\\p{ASCII}]", "");
return string;
}
bem parecido, mas mais enxuto, eu acho
[/quote]
Mano, me dá um help!!! Estou com problema ao utilizar o normalizer. Eu preciso dele para fazer uma busca no banco. Meu método de busca está assim:
[code]public List getFuncionariosGenerico() {
Session session = HibernateUtil.currentSession();
FuncionarioDao funcionarioDao = new FuncionarioDao(session,
Funcionario.class);
List<Funcionario> lista = funcionarioDao.pesquisaFuncionarios(
this.funcionario.getNome(), this.funcionario.getCpf(),
this.funcionario.getRg());
return lista;
}[/code]
Meu dao está assim:
[code] @SuppressWarnings(“unchecked”)
public List pesquisaFuncionarios(String nome, String cpf,
String rg) {
Criteria c = session.createCriteria(Funcionario.class);
List<Funcionario> results = new ArrayList<Funcionario>();
c.add(Restrictions.ilike("nome", nome, MatchMode.ANYWHERE));
c.add(Restrictions.like("cpf", cpf, MatchMode.ANYWHERE));
c.add(Restrictions.like("rg", rg, MatchMode.ANYWHERE));
results = (List<Funcionario>) c.list();
return results;
}[/code]
Teria como eu implementar o normalizer nessa minha busca?? ou eu não altero este método e faço o método do normalizer a parte para rederizar ele na pesquisa na minha jsf??
Valeu.