QuieroProgramar por Rodri Gonzalez
Python · Lección 12 de 27

Métodos de strings

Los strings tienen más de 40 métodos incorporados para transformar, buscar, dividir, unir y validar texto. En análisis de datos, limpiar texto es fácilmente el 30% de tu trabajo. Esta lección te da todas las herramientas.

90–120 min Prerrequisitos: 03 Tipos de datos, 04 Variables
01

Concepto teórico

¿Qué es un método?

Un método es una función que pertenece a un objeto. Se invoca con la sintaxis objeto.metodo(). Los strings tienen decenas de métodos incorporados que te permiten transformarlos sin necesidad de importar nada. Como los strings son inmutables, cada método devuelve un nuevo string — el original no se modifica.

Regla de oro de strings: como son inmutables, nombre.upper() NO modifica nombre. Devuelve un nuevo string. Si querés guardar el resultado, tenés que reasignar: nombre = nombre.upper().

Métodos de transformación de mayúsculas/minúsculas

Método Qué hace Ejemplo Resultado
.upper() Todo a mayúsculas "hola".upper() "HOLA"
.lower() Todo a minúsculas "HOLA".lower() "hola"
.title() Primera letra de cada palabra en mayúscula "hola mundo".title() "Hola Mundo"
.capitalize() Solo la primera letra del string "hola mundo".capitalize() "Hola mundo"
.swapcase() Intercambia mayúsculas y minúsculas "HoLa".swapcase() "hOlA"
.casefold() Minúsculas agresivo (para comparaciones) "straße".casefold() "strasse"
En limpieza de datos: los campos de texto vienen en formatos caóticos: "GARCÍA", "garcía", "García", " garcía ". Normalizar con .strip().title() o .strip().upper() es el primer paso de cualquier pipeline de limpieza. En pandas: df["nombre"] = df["nombre"].str.strip().str.title().

Métodos de limpieza (strip)

Método Qué hace Ejemplo Resultado
.strip() Elimina espacios al inicio y final " hola ".strip() "hola"
.lstrip() Elimina espacios a la izquierda " hola ".lstrip() "hola "
.rstrip() Elimina espacios a la derecha " hola ".rstrip() " hola"
.strip("$") Elimina carácter específico "$$100$$".strip("$") "100"
Error común: los datos de CSV/Excel suelen tener espacios invisibles al inicio o final. Si comparás "García" con "García " (con espacio), Python dice que son distintos. .strip() es la primera defensa contra este problema.

Métodos de búsqueda y reemplazo

Método Qué hace Devuelve
.find(sub) Posición de la primera ocurrencia int (o -1 si no existe)
.rfind(sub) Posición de la última ocurrencia int (o -1)
.index(sub) Como find, pero da error si no existe int (o ValueError)
.count(sub) Cuántas veces aparece int
.replace(old, new) Reemplaza todas las ocurrencias Nuevo string
.startswith(prefix) ¿Empieza con este texto? True/False
.endswith(suffix) ¿Termina con este texto? True/False

Split y Join: dividir y unir

Probablemente los dos métodos de string más importantes para análisis de datos:

Estos dos métodos son la base de todo parseo de texto: leer líneas de un CSV, extraer campos, reconstruir strings formateados.

Métodos de validación (is...)

Método True cuando… Uso típico
.isdigit() Solo dígitos (0-9) Validar que un campo es numérico
.isalpha() Solo letras Validar nombres sin números
.isalnum() Letras y/o dígitos Validar códigos alfanuméricos
.isspace() Solo espacios/tabs/newlines Detectar campos "vacíos" con espacios
.isupper() Todo mayúsculas Verificar formato de constantes
.islower() Todo minúsculas Verificar normalización

f-strings avanzado

Los f-strings no son un método de string, pero son la herramienta de formato más poderosa y la vas a usar constantemente:

Formato Ejemplo Resultado Uso
:,.2f f"${1234567.8:,.2f}" $1,234,567.80 Moneda
:,.0f f"${1234567:,.0f}" $1,234,567 Moneda sin decimales
:.1% f"{0.153:.1%}" 15.3% Porcentajes
:>12 f"{'hola':>12}" hola Alinear derecha
:<12 f"{'hola':<12}" hola Alinear izquierda
:^12 f"{'hola':^12}" hola Centrar
:05d f"{42:05d}" 00042 IDs con padding
:+.1f f"{3.5:+.1f}" +3.5 Mostrar signo siempre
Tip profesional: el combo definitivo para limpieza de datos textuales es: .strip().lower() para normalizar, .replace() para limpiar caracteres no deseados, .split() para separar campos, y .join() para reconstruir. Con estos 4 métodos resolvés el 90% de los problemas de texto.
02

Ejemplos explicados paso a paso

Ejemplo 1: Transformación de mayúsculas y limpieza

ejemplo_01_transformar.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 2: Búsqueda, reemplazo y conteo

ejemplo_02_buscar.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 3: Split y Join — parsear datos

La combinación split/join es la base de todo procesamiento de texto y parseo de CSV.

ejemplo_03_split_join.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 4: Validación de datos con métodos is...

ejemplo_04_validacion.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 5: f-strings avanzado — reportes profesionales

ejemplo_05_fstrings.pyPython

        
Hacé clic en ▶ Ejecutar
03

Referencia rápida

Categoría Métodos Uso principal
Mayúsculas upper lower title capitalize swapcase Normalizar texto
Limpieza strip lstrip rstrip Eliminar espacios/caracteres
Búsqueda find rfind index count Localizar subcadenas
Reemplazo replace Sustituir texto
Inicio/Fin startswith endswith Verificar prefijo/sufijo
Dividir/Unir split rsplit splitlines join Parsear y reconstruir
Validar isdigit isalpha isalnum isspace isupper islower Verificar contenido
Alinear center ljust rjust zfill Formatear ancho fijo
04

Ejercicios

Nivel 1 · Básico

Ejercicio 1: Normalizar un nombre

Dado nombre = " RODRIGO GONZÁLEZ ", limpialo y convertilo a formato título. Debe incluir Rodrigo González.

ejercicio_01.pyDebe incluir "Rodrigo González"

          
Hacé clic en ▶ Ejecutar
Nivel 1 · Básico

Ejercicio 2: Contar ocurrencias

En "Python es genial. Python es libre. Python es rápido.", contá cuántas veces aparece "Python". Debe incluir 3.

ejercicio_02.pyDebe incluir "3"

          
Hacé clic en ▶ Ejecutar
Nivel 1 · Básico

Ejercicio 3: Split básico

Dado "García|35|Buenos Aires", splitteá por "|" e imprimí cada campo en una línea. Debe incluir Buenos Aires.

ejercicio_03.pyDebe incluir "Buenos Aires"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 4: Limpiar monto financiero

Dado "$1,850,000.75", eliminá el $ y las comas, convertí a float e imprimí. Debe incluir 1850000.75.

ejercicio_04.pyDebe incluir "1850000.75"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 5: Join para reconstruir

Dada partes = ["Buenos", "Aires", "Capital", "Federal"], unilas con espacio y con guión bajo. Debe incluir Buenos_Aires_Capital_Federal.

ejercicio_05.pyDebe incluir "Buenos_Aires_Capital_Federal"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 6: Verificar extensión de archivo

Dado archivo = "reporte_ventas_Q3.xlsx", verificá si es un archivo Excel (termina en .xlsx o .xls) e imprimí el resultado. Debe incluir Excel.

ejercicio_06.pyDebe incluir "Excel"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 7: Limpiar lista de datos sucios

Tenés datos = [" GARCÍA ", "lópez", " Martínez", "PÉREZ ", " fernández "]. Normalizalos todos a formato título sin espacios extra. Debe incluir ['García', 'López', 'Martínez', 'Pérez', 'Fernández'].

ejercicio_07.pyDebe incluir "Fernández"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 8: Parsear múltiples registros CSV

Dado este CSV como string multilínea, parseá cada línea en un diccionario. Debe incluir 720.

ejercicio_08.pyDebe incluir "720"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 9: Reporte formateado con f-strings

Generá una tabla con estos datos alineados: 3 productos con nombre (izq, 20 chars), precio (der, $formato), y stock (der, 5 chars). Debe incluir Total:.

ejercicio_09.pyDebe incluir "Total:"

          
Hacé clic en ▶ Ejecutar
Nivel 4 · Desafío

Ejercicio 10: Pipeline de limpieza de datos completo

Tenés registros crudos: [" GARCÍA|35|$150,000 ", " López|42|$320,000", "martínez|28|$45,000 "]. Para cada uno: (1) strip, (2) split por |, (3) normalizar nombre a title, (4) convertir edad a int, (5) limpiar monto y convertir a float. Armá una lista de diccionarios e imprimila. Debe incluir pipeline.

ejercicio_10_desafio.pyDebe incluir "pipeline"

          
Hacé clic en ▶ Ejecutar
05

Resumen y conexión

En la siguiente lección (13 · Métodos de listas) vas a dominar todas las formas de agregar, eliminar, ordenar, buscar y transformar listas — incluyendo list comprehensions avanzadas.

Recursos: Python docs — String Methods · f-strings