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 world
Aquí 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 Essentials
Usando 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 textblob
Luego, ú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 sentence
Recuerda, mientras que los métodos capitalize()
y title()
son útiles universalmente, aprovechar bibliotecas como textblob
puede proporcionar una flexibilidad adicional para aplicaciones específicas.