Poner en mayúscula la primera letra de cada palabra en Python

Muhammad Waiz Khan 30 enero 2023
  1. Ponga en mayúscula la primera letra de cada palabra en Python usando el método string.title()
  2. Escriba con mayúscula cada palabra en Python usando el método string.capwords()
  3. Ponga en mayúscula cada palabra en Python usando los métodos string.split() y string.join()
Poner en mayúscula la primera letra de cada palabra en Python

Este tutorial explicará varios métodos para poner en mayúscula la primera letra de cada palabra en la cadena en Python. Si tenemos una cadena como hey! what's up? y queremos convertirlo en Hey! What's Up?. Podemos hacerlo usando algún método disponible o separando cada palabra de la cadena, escribiendo en mayúscula la primera letra de cada palabra y luego uniendo la cadena nuevamente.

También podemos tener cadenas como hey... what's up? y queremos mantener el espaciado original de la cuerda. Este tutorial analizará los diversos métodos para resolver estos problemas.

Ponga en mayúscula la primera letra de cada palabra en Python usando el método string.title()

string.title() es un método incorporado que toma una cadena como entrada y devuelve la cadena con el primer carácter de cada palabra en mayúscula. El método string.title() no cambia el espaciado original de la cadena. El siguiente ejemplo de código demuestra cómo utilizar el método string.title() para poner en mayúscula cada letra de una palabra en Python.

string = "hey! what's up?"
print(string)
print(string.title())

Producción :

Hey! What's up?
Hey! What'S Up?

Como puede observarse en el ejemplo anterior, el método string.title() no funciona bien con los signos de puntuación, ya que escribe en mayúscula la letra que sigue a los signos de puntuación.

Escriba con mayúscula cada palabra en Python usando el método string.capwords()

El string.capwords(string, sep) del módulo string toma el string como primer parámetro y el sep como segundo parámetro y devuelve el string con el primer carácter en mayúscula de cada palabra, separados en la base del parámetro sep. Si no se pasa ningún valor al parámetro sep o se establece en None, los espacios en blanco se utilizarán como separador y un solo espacio en blanco reemplaza uno o más espacios en blanco.

El siguiente código de ejemplo muestra cómo usar el método string.capwords() para poner en mayúscula cada palabra de la cadena:

import string

mystring = "hey!   what's up?"
print(mystring)
print(string.capwords(mystring))

Producción :

hey!   what's up?
Hey! What's Up?

El problema con este método es que perderá palabras como 'hello' o si pasamos el parámetro ' como el parámetro sep, pondrá en mayúscula what's a what'S, como se muestra en el código de ejemplo debajo:

import string

mystring = "'hello'   what's up?"
print(mystring)
print(string.capwords(mystring))
print(string.capwords(mystring, sep="'"))

Producción :

'hello'   what's up?
'hello' What's Up?
'Hello'   what'S up?

Ponga en mayúscula cada palabra en Python usando los métodos string.split() y string.join()

El método string.split(separator,..) convierte la cadena en una lista utilizando el valor proporcionado del parámetro separator como separador. El método string.join(iterable) toma el objeto iterable como entrada y lo convierte en una cadena usando el argumento de cadena proporcionado como separador de palabras.

El siguiente código de ejemplo demuestra cómo utilizar los métodos string.split() y string.join() para poner en mayúscula la primera letra de cada palabra en Python.

import re

s = "'hello'   what's up?"
print(s)
slist = []
for word in s.split():
    if word[0] in ("'", '"', "("):
        word = word[0] + word[1].upper() + word[2:]
        slist.append(word)
    else:
        word = word[0].upper() + word[1:]
        slist.append(word)
    new_string = " ".join(slist)
print(new_string)

Producción :

'hello'   what's up?
'Hello' What's Up?

Como se puede observar en el ejemplo anterior, este método puede manejar las citas, los sustantivos posesivos y las palabras entre paréntesis. Pero el espaciado original de la cadena se perderá en este método.

Artículo relacionado - Python String