Sabe quando queremos formatar um nome no padrão convencional, tipo a primeira letra maiúscula. Então pra isso criei um método em java pra fazer isso.
Explicando o código:
1º Colocamos toda String em caixa baixa, tiramos possíveis espaços no final, e utilizamos o método split da Classe String. Esse método retorna um vetor com os nomes separados, pra isso você tem que informar um caracter que vai servir de separador. No nosso caso vai ser o espaço(“ ”).
2º Criamos um array com as palavras que não serão modificadas.
3º Percorremos o array com os nomes, se não for uma das palavras reservadas utilizamos o método capitalize da Classe StringUtils, esse método coloca o primeiro caracter de uma string em caixa alta.
public static String PrimeiraLetraMaiuscula(String name){
String[] names = name.toLowerCase().trim().split(" ");
String[] reserved = {"de","dos","da","e","das"};
StringBuffer out = new StringBuffer("");
for(int i=0;i<names.length;i++){
if(Utilits.inArray(names[i], reserved)){
out.append(names[i]+" ");
}else{
out.append(StringUtils.capitalize(names[i])+" ");
}
}
return out.toString().trim();
}
Lembrando que para utilizar a classe StringUtils a biblioteca org.apache.commons.lang deve ser adicionada ao seu projeto.
Foi criada uma classe Utilits com um método Static inArray para checar se a String esta no array de palavras reservadas.
0 comentários:
Postar um comentário