Python:
Capitalizando una cadena de texto
Cómo hacerlo:
Usando el Método Incorporado de Python:
Python tiene un método incorporado .capitalize() para las cadenas que permite realizar esta tarea fácilmente.
my_string = "hello world"
capitalized_string = my_string.capitalize()
print(capitalized_string)Salida:
Hello worldAquí está mi propio capitalize() personalizado que uso para construir este sitio. Necesitaba asegurarme de que palabras especiales como HTML siempre se mantengan en mayúsculas. Esto también demuestra doctests:
def capitalize(string: str) -> str:
"""
Poner en mayúscula una cadena, es decir, hacer que la primera letra sea mayúscula.
Manejar casos especiales como "HTML".
>>> capitalize("this is html, csv, xml, and http (no REPL).")
'This is HTML, CSV, XML, and HTTP (no REPL).'
>>> capitalize("this is json, VBA, an IDE, and yaml in the CLI.")
'This is JSON, VBA, un IDE, and YAML in the CLI.'
"""
return (
string
.capitalize()
.replace('cli', 'CLI')
.replace('csv', 'CSV')
.replace('html', 'HTML')
.replace('http', 'HTTP')
.replace('ide', 'IDE')
.replace('json', 'JSON')
.replace('repl', 'REPL')
.replace('vba', 'VBA')
.replace('xml', 'XML')
.replace('yaml', 'YAML')
)Manejando Múltiples Palabras:
Para escenarios donde quieras que cada palabra en una cadena comience con una letra mayúscula (como los títulos), se puede aplicar el método .title().
my_title = "python programming essentials"
title_case = my_title.title()
print(title_case)Salida:
Python Programming EssentialsUsando Bibliotecas de Terceros:
Aunque la biblioteca estándar de Python está equipada para la capitalización básica de cadenas, bibliotecas como textblob pueden ofrecer un control más matizado, especialmente para el procesamiento de lenguaje natural.
Primero, asegúrate de tener textblob instalado:
pip install textblobLuego, úsalo para poner en mayúsculas las cadenas, teniendo en cuenta que la capitalización de textblob podría funcionar de manera diferente basada en el contexto de uso:
from textblob import TextBlob
my_sentence = "this is a test sentence"
blob = TextBlob(my_sentence)
capitalized_blob = TextBlob(blob.string.capitalize())
print(capitalized_blob)Salida:
This is a test sentenceRecuerda, mientras que los métodos capitalize() y title() son útiles universalmente, aprovechar bibliotecas como textblob puede proporcionar una flexibilidad adicional para aplicaciones específicas.