Ya hemos visto lo poderoso que puede ser Python al trabajar con cadenas. Podemos buscar en la cadena con la palabra clave in, podemos tomar una parte del texto mediante slicing, obtener su longitud, formatear con f-strings, etc. De hecho, eso es solo la punta del iceberg.
En Python, hay muchas funciones útiles para manejar manipulaciones de texto más complejas. Hay más de 40 utilidades que se pueden usar en diferentes escenarios. La lista completa de estos métodos se puede encontrar en la página oficial de Python: métodos de cadena. La buena noticia es que no es necesario recordarlos todos. Casi todos tienen un nombre muy intuitivo y es fácil encontrar lo que se necesita con una búsqueda rápida en Google. Cubriremos algunas funciones muy populares que son útiles de vez en cuando y se usan frecuentemente al trabajar con cadenas.
# .upper() convierte todas las letras a mayúsculas
s = 'What happened to Anna?'
up = s.upper()
print('Hi 123 this is Sally!'.upper()) # HI 123 THIS IS SALLY!
print(s) # What happened to Anna?
print(s.upper()) # WHAT HAPPENED TO ANNA?
print(up) # WHAT HAPPENED TO ANNA?
# .lower() convierte todas las letras a minúsculas
s = 'What happened to Anna?'
low = s.lower()
print('Hi 123 this is Sally!'.lower()) # hi 123 this is sally!
print(s) # What happened to Anna?
print(s.lower()) # what happened to anna?
print(low) # what happened to anna?
# .title() inicia todas las palabras con una letra mayúscula (formato título)
s = 'What happened to Anna?'
title = s.title()
print('Hi 123 this is Sally!'.title()) # Hi 123 This Is Sally!
print(s) # What happened to Anna?
print(s.title()) # What Happened To Anna?
print(title) # What Happened To Anna?
# .capitalize() inicia la primera palabra con mayúscula
s = 'What happened to Anna?'
capital = s.capitalize()
print('Hi 123 this is Sally!'.capitalize()) # Hi 123 this is sally!
print(s) # What happened to Anna?
print(s.capitalize()) # What happened to anna?
print(capital) # What happened to anna?
# .swapcase() convierte minúsculas a mayúsculas y viceversa
s = 'What happened to Anna?'
swapped = s.swapcase()
print('Hi 123 this is Sally!'.swapcase()) # hI 123 THIS IS sALLY!
print(s) # What happened to Anna?
print(s.swapcase()) # wHAT HAPPENED TO aNNA?
print(swapped) # wHAT HAPPENED TO aNNA?
Es importante notar que los métodos de cadena no modifican la variable original. Crean un nuevo valor y lo devuelven. El valor original permanece igual. Así que, al llamar a a.lower(), el valor de a no cambia. Permanece igual, pero lower() devuelve un nuevo valor que contiene la versión en minúsculas de a.
Desafío
Se te da un comando y un texto. Tu tarea es aplicar ese comando al texto.
El comando puede ser cualquiera de: upper, lower, capitalize, title, swap.
El comando también puede estar escrito en mayúsculas o minúsculas. El manejo del comando no debe ser sensible a mayúsculas.
La primera línea del programa contiene el comando. La segunda línea contiene el texto que necesita ser modificado.
La salida debe ser una sola línea: el texto transformado.