Slicing, replace y split para manipular strings en Python
Clase 12 de 32 • Curso de Fundamentos de Python
Resumen
Aprende a dominar textos en Python con técnicas prácticas: índices base cero, slicing con fin no incluido, búsquedas seguras con normalización, y métodos esenciales como replace y split. Con estas habilidades trabajarás textos largos con precisión, evitando errores típicos al cortar, reemplazar y comparar cadenas.
¿Cómo funcionan los índices en strings de Python?
Comprender el índice es clave: en Python las posiciones comienzan en 0 y los espacios cuentan como caracteres. Acceder a un carácter se hace con corchetes.
- El primer carácter tiene índice 0.
- Los espacios y signos también ocupan posición.
- Usar print con acceso por índice muestra el carácter correspondiente.
¿Qué es indexación base cero y por qué los espacios cuentan?
- Base cero: el primer carácter es 0, no 1.
- Ejemplo práctico: la E de "Este" está en 0; el espacio tras "Este" ocupa una posición.
texto = "Este es un texto"
print(texto[0]) # E
print(texto[4]) # espacio
¿Cómo acceder a un carácter por índice?
- Sintaxis: cadena[indice].
- Si el índice apunta a un espacio, se imprime un espacio.
print(texto[0]) # E
print(texto[4]) # ' '
¿Cómo hacer slicing para extraer partes del texto?
El slicing usa rangos [inicio:fin] donde fin no está incluido. Puedes omitir inicio o fin para tomar desde el principio o hasta el final. También puedes contar desde atrás con índices negativos.
- Fin no incluido: cuenta "uno de más" para abarcar el último carácter deseado.
- Inicio omitido: toma desde el principio.
- Fin omitido: llega hasta el final.
- Negativos: -1 es el último carácter.
¿Cómo usar rangos [inicio:fin] con fin no incluido?
- Extraer "Este": de 0 a 4 excluido.
- Si cuentas hasta el último índice visible y lo colocas en fin, ese carácter no se incluye.
print(texto[0:4]) # Este
# Hasta el final contando manualmente: cuidado con la última letra
print(texto[0:15]) # falta la 'o' final si 15 apunta a esa posición
¿Cómo omitir inicio o fin y usar índices negativos?
- Desde el principio hasta una posición.
- Desde una posición hasta el final.
- Usar negativos para cortar desde atrás y recordar que fin excluye.
print(texto[:7]) # "Este es"
print(texto[5:]) # desde la "e" de "es" hasta el final
# De la "e" de "es" hasta incluir la "x": fin como -2 para abarcar la X
print(texto[5:-2])
¿Cómo reemplazar, dividir y normalizar texto en Python?
Para actualizar contenidos, separar palabras y comparar sin errores por mayúsculas/minúsculas, usa replace, split y lower. Python es case sensitive, por eso la normalización evita falsos negativos en búsquedas.
¿Cómo reemplazar con replace y cuántas veces ocurre?
- replace cambia todas las apariciones del texto objetivo.
- Útil para corregir etiquetas o tecnologías mencionadas.
curso = "Este curso es de JavaScript"
print(curso.replace("JavaScript", "Python"))
# "Este curso es de Python"
# Si hubiera múltiples "JavaScript", las reemplaza todas
¿Cómo dividir con split para obtener una lista de palabras?
- split convierte un string en lista usando un separador.
- El espacio es un separador común, colócalo entre comillas.
texto_dividido = texto.split(" ")
print(texto_dividido) # ['Este', 'es', 'un', 'texto']
¿Cómo comparar sin errores por mayúsculas y minúsculas?
- Python es case sensitive: distingue mayúsculas y minúsculas.
- Normaliza con lower (a lowercase) tanto el texto como lo buscado.
- Usa el operador in para verificar inclusión fiable.
texto2 = "Este Texto tiene MAYÚSCULAS y minúsculas"
buscado = "mayúsculas"
print(buscado in texto2) # False
print(buscado.lower() in texto2.lower()) # True
¿Te gustaría practicar más? Comparte en comentarios tus propios ejemplos de slicing, replace, split y comparaciones con lower para que podamos revisarlos juntos.