Olá pessoal, será que alguem sabe de alguma função que, passando uma string me rtorne a primeira letra de cada palavra em maiúsculo e o resto em minúsculo.
Antecipadamente agradeço.
Olá pessoal, será que alguem sabe de alguma função que, passando uma string me rtorne a primeira letra de cada palavra em maiúsculo e o resto em minúsculo.
Antecipadamente agradeço.
tem esse ex. q o thingol postou neste topico:http://www.guj.com.br/posts/list/121727.java#658595
sugiro vc passar o parametro tudo em minusculo, pq o metodo esta tratando somente como minuscula. ja eh um começo
/**
* Retorna uma string onde a letra inicial de cada palavra é passada para maiúscula.
* Exemplo: "joão de oliveira" -> "João De Oliveira"
* @param str A string a ser convertida.
* @return A string convertida.
*/
public static String capitalize (String str) {
char[] letras = str.toCharArray();
for (int i = 0; i < letras.length; ++i) {
if (i == 0 || !Character.isLetterOrDigit (letras[i-1])) {
letras[i] = Character.toUpperCase (letras[i]);
}
}
return new String (letras);
}
Pessoal, me passaram uma solução legal utilizando
import org.apache.commons.lang.StringUtils;
org.apache.commons.lang.StringUtils.capitaliseAllWords(texto);
funciona blz, mesmo assim obrigado, vlw
de qq forma tem q tratar no caso de vier uma frase com maiusculas e minusculas no meio da palavra.
ex. fRase eXemplo
Sem tratamento fica assim: FRase EXemplo
o tratamento seria nd mais q colocar um toLowerCase().
Bom no meu caso a coisa é bem simples, eu tratei com o toLowerCase e depois usei o
org.apache.commons.lang.StringUtils.capitaliseAllWords(texto);
mas vc tem razão, cada caso é um caso se precisar tratar mais que a primeira letra de cada palavra é melhor usar a outra maniera, de acordo com as necessidades.
Um abraço, e vlw