¿Hay algún método integrado disponible para convertir una cadena en formato de caso de título?
java
string
title-case
TylerH
fuente
fuente
Respuestas:
Apache Commons StringUtils.capitalize () o Commons Text WordUtils.capitalize ()
por ejemplo:
WordUtils.capitalize("i am FINE") = "I Am FINE"
de WordUtils docfuente
StringUtils.capitalise()
capitalize()
?No hay métodos capitalize () o titleCase () en la clase String de Java. Tienes dos opciones:
Implementación de muestra
Caso de prueba
salidas:
fuente
char[]
enStringBuilder
, sugiero usarnew StringBuilder(input.length())
Si puedo enviar mi opinión sobre la solución ...
El siguiente método se basa en el que publicó dfa. Realiza el siguiente cambio importante (que se adapta a la solución que necesitaba en ese momento): obliga a todos los caracteres de la cadena de entrada a minúsculas a menos que esté inmediatamente precedido por un "delimitador procesable", en cuyo caso el carácter es forzado a mayúsculas.
Una limitación importante de mi rutina es que asume que el "título de caso" se define uniformemente para todas las configuraciones regionales y está representado por las mismas convenciones de casos que he usado, por lo que es menos útil que el código de dfa en ese sentido.
VALORES DE PRUEBA
SALIDAS
fuente
Character.toTitleCase
lugar.Utilice WordUtils.capitalizeFully () de Apache Commons.
fuente
Puede usar apache commons langs como este:
puede encontrar el documento de Java aquí: WordUtils.capitalizeFully Java doc
y si desea eliminar los espacios entre los mundos, puede usar:
puede encontrar el documento java para String StringUtils.remove java doc
espero que esto ayude.
fuente
Si desea la respuesta correcta de acuerdo con el último estándar Unicode, debe usar icu4j.
Tenga en cuenta que esto es sensible a la configuración regional.
Documentación de API
Implementación
fuente
Aquí hay otra toma basada en las respuestas de @ dfa y @ scottb que maneja cualquier carácter que no sea letra / dígito:
Entrada dada:
la salida es
fuente
Esto es algo que escribí para convertir snake_case a lowerCamelCase, pero podría ajustarse fácilmente según los requisitos
fuente
Sé que este es más antiguo, pero no tiene una respuesta simple, necesitaba este método para mi codificación, así que agregué aquí, simple de usar.
fuente
Tuve este problema y lo busqué, luego hice mi propio método usando algunas palabras clave de Java, solo necesito pasar la variable String como parámetro y obtener la salida como String con el título adecuado.
fuente
puedes usar muy bien
o
de la API de Google.
fuente
Recientemente también me encontré con este problema y desafortunadamente tuve muchas apariciones de nombres que comienzan con Mc y Mac, terminé usando una versión del código de scottb que cambié para manejar estos prefijos, por lo que está aquí en caso de que alguien quiera usarlo.
Todavía hay casos extremos que esto pasa por alto, pero lo peor que puede suceder es que una letra sea minúscula cuando debería estar en mayúscula.
fuente
Conversión a caso de título adecuado:
Resultado: "Este es un texto"
fuente
Usando Spring's
StringUtils
:Si ya está usando Spring de todos modos, esto evita traer otro marco.
fuente
Utilice este método para convertir una cadena en mayúsculas y minúsculas:
fuente
Este convertidor transforma cualquier cadena que contenga mayúsculas y minúsculas, espacios en blanco, dígitos y otros caracteres en una caja de título desinfectada.
Aquí hay algunas entradas:
Y mis salidas:
fuente
Parece que ninguna de las respuestas lo formatea en el caso del título real: "Cómo conseguir el trabajo de tus sueños", "Matar un ruiseñor", etc., así que he creado mi propio método. Funciona mejor para textos en inglés.
fuente
Esta es la solucion mas simple
fuente
Esto debería funcionar:
fuente
La forma más sencilla de convertir cualquier cadena en un caso de título es utilizar el paquete de googles org.apache.commons.lang.WordUtils
Resultará esto
No estoy seguro de por qué se llama "capitalizeFully", donde de hecho la función no está haciendo un resultado de capital completo, pero de todos modos, esa es la herramienta que necesitamos.
fuente
capitalizeFully
porque escribe en mayúscula cada palabra, incluidas las que deben estar en minúscula en un título. grammar.about.com/od/tz/g/Title-Case.htmLo siento, soy un principiante, ¡así que mi hábito de codificación apesta!
fuente