DMarlon Studio

Lección 17 · 17 de 20

Métodos de cadenas · Python

Limpie y transforme texto en Python con strip, split, join, lower, upper, replace, find y count, ordenando una lista de ingredientes.

Python · Métodos de cadenas en DMarlon Studio: el código del ejemplo y su salida en la terminal

Las cadenas también tienen métodos. Ninguno cambia la cadena original (las cadenas no se pueden modificar): todos devuelven una cadena nueva. strip() quita los espacios del principio y del final; los corchetes de la salida muestran que los de en medio siguen ahí.

split(",") corta la cadena por cada coma y devuelve una lista de trozos, todavía con espacios sueltos y mayúsculas mezcladas.

El bucle limpia cada trozo encadenando métodos: part.strip().lower() primero quita los espacios y, sobre el resultado, pasa a minúsculas. Cada trozo limpio se añade con append() a items.

join() hace lo contrario que split(): une una lista en una sola cadena, poniendo entre cada elemento el texto sobre el que se llama, aquí " | ".

Con el título de la receta: upper() pasa a mayúsculas, title() pone mayúscula a cada palabra y replace() sustituye un texto por otro. startswith() responde True o False, count() cuenta cuántas veces aparece algo y find() dice en qué posición empieza (o -1 si no está).

Código · main.py

# Ingredients typed in a hurry: spaces and capitals all over.raw = "   tomato, Onion ,garlic,  PEPPER  "# strip() removes the spaces at both ends.clean = raw.strip()print(f"[{clean}]")# split() cuts a string into a list, at each comma.parts = clean.split(",")print(parts)# Tidy each piece: no spaces and in lower case.items = []for part in parts:    items.append(part.strip().lower())print(items)# join() glues a list into one string.print(" | ".join(items))title = "salsa verde recipe"print(title.upper())print(title.title())print(title.replace("verde", "roja"))print("Starts with 'salsa'?", title.startswith("salsa"))print("How many 'e':", title.count("e"))print("Where is 'recipe'?", title.find("recipe"))

Salida · python3 main.py

[tomato, Onion ,garlic,  PEPPER]
['tomato', ' Onion ', 'garlic', '  PEPPER']
['tomato', 'onion', 'garlic', 'pepper']
tomato | onion | garlic | pepper
SALSA VERDE RECIPE
Salsa Verde Recipe
salsa roja recipe
Starts with 'salsa'? True
How many 'e': 4
Where is 'recipe'? 12

Para recordar

  • Los métodos de cadenas devuelven una cadena nueva.
  • strip() quita espacios de los extremos.
  • texto.split(",") da una lista; ", ".join(lista) la vuelve a unir.
  • lower(), upper() y title() cambian mayúsculas y minúsculas.
  • replace(), find() y count() buscan y sustituyen.

Ejercicio

Pida una frase con input() y escriba cuántas palabras tiene, la palabra más larga y la frase con cada palabra al revés.