Existe algum método integrado disponível para converter uma string no formato de caixa de título?
java
string
title-case
TylerH
fonte
fonte
Respostas:
Apache Commons StringUtils.capitalize () ou Commons Text WordUtils.capitalize ()
por exemplo:
WordUtils.capitalize("i am FINE") = "I Am FINE"
do documento WordUtilsfonte
StringUtils.capitalise()
capitalize()
?Não há métodos capitalize () ou titleCase () na classe String do Java. Você tem duas opções:
Implementação de amostra
Caso de teste
saídas:
fonte
char[]
noStringBuilder
eu sugiro usarnew StringBuilder(input.length())
Se eu puder enviar minha opinião sobre a solução ...
O método a seguir é baseado naquele que dfa postou. Ele faz a seguinte alteração importante (que é adequada para a solução que eu precisava no momento): força todos os caracteres na string de entrada para minúsculas, a menos que seja imediatamente precedido por um "delimitador acionável", caso em que o caractere é forçado a maiúsculas.
Uma limitação importante da minha rotina é que ela pressupõe que "maiúsculas e minúsculas" é uniformemente definida para todos os locais e é representada pelas mesmas convenções de maiúsculas e minúsculas que usei e, portanto, é menos útil do que o código do dfa nesse aspecto.
VALORES DE TESTE
SAÍDAS
fonte
Character.toTitleCase
lugar.Use WordUtils.capitalizeFully () do Apache Commons.
fonte
Você pode usar as linguagens do apache commons assim:
você pode encontrar o documento java aqui: WordUtils.capitalizeFully java doc
e se você quiser remover os espaços entre os mundos, você pode usar:
você pode encontrar o documento java para String StringUtils.remove java doc
Espero que esta ajuda.
fonte
Se quiser a resposta correta de acordo com o padrão Unicode mais recente, você deve usar icu4j.
Observe que isso é sensível ao local.
Documentação Api
Implementação
fonte
Aqui está outra tomada com base nas respostas de @dfa e @scottb que lida com qualquer caractere diferente de letra / dígito:
Entrada fornecida:
a saída é
fonte
Isso é algo que eu escrevi para converter snake_case em lowerCamelCase, mas poderia ser facilmente ajustado com base nos requisitos
fonte
Eu sei que este é mais antigo, mas não tem a resposta simples, eu precisava desse método para minha codificação, então adicionei aqui, simples de usar.
fonte
Eu tive esse problema e eu procurei por ele, então eu fiz meu próprio método usando algumas palavras-chave java só preciso passar a variável String como parâmetro e obter a saída como String com o título adequado.
fonte
você pode muito bem usar
ou
da API do Google.
fonte
Recentemente também tive esse problema e infelizmente tive muitas ocorrências de nomes começando com Mc e Mac, acabei usando uma versão do código de scottb que mudei para lidar com esses prefixos, então está aqui caso alguém queira usá-lo.
Ainda há casos extremos em que isso não ocorre, mas a pior coisa que pode acontecer é que uma letra estará em minúscula quando deveria ser maiúscula.
fonte
Conversão para caixa de título adequada:
Resultado: "Este é algum texto"
fonte
Usando o Spring
StringUtils
:Se você já está usando o Spring, isso evita trazer outro framework.
fonte
Use este método para converter uma string para maiúsculas e minúsculas:
fonte
Este conversor transforma qualquer string contendo caixa de camelo, espaços em branco, dígitos e outros caracteres para caixa de título limpa.
Aqui estão algumas entradas:
E minhas saídas:
fonte
Parece que nenhuma das respostas o formatou na caixa do título real: "Como conseguir o emprego dos seus sonhos", "Para matar um pássaro Mockingbird", etc., então fiz meu próprio método. Funciona melhor para textos em inglês.
fonte
Esta é a solução mais simples
fonte
Isso deve funcionar:
fonte
A maneira mais simples de converter qualquer string em uma caixa de título é usar o pacote googles org.apache.commons.lang.WordUtils
Resultará isso
Não sei por que é chamado de "capitalizeFully", onde na verdade a função não está fazendo um resultado de capital completo, mas de qualquer forma, essa é a ferramenta de que precisamos.
fonte
capitalizeFully
porque coloca todas as palavras em maiúscula, incluindo aquelas que deveriam estar em minúsculas em um título. grammar.about.com/od/tz/g/Title-Case.htmDesculpe, eu sou um iniciante, então meu hábito de programar é uma droga!
fonte