Dividir cadenas en Python es una tarea fácil, no obstante, muchos no saben que puedes dividirla comenzando desde el final. ¿Quieres saber cómo? Pues bien, con la opción str.rsplit() puedes realizar este proceso. En este artículo te explicaremos qué es y cómo funciona en el lenguaje Python.
¿Qué es str.rsplit()?
El método str.rsplit() divide una cadena en una lista, pero comienza desde el lado derecho, es decir, desde el final. Esto hace que sea un método idóneo cuando necesitas controlar cuántas divisiones se realizan desde el final de la cadena.
Veamos su sintaxis:
string.rsplit(separator, maxsplit)
Los parámetros a seguir son:
- separator, que define el carácter o cadena que actúa como delimitador. Si no se especifica, usa espacios en blanco como separador.
- maxsplit que determina el número máximo de divisiones que se realizarán. El valor por defecto es -1, lo que significa dividir en todas las apariciones del delimitador.
El retorno consiste en una lista con los elementos resultantes de la división.
¿Cómo funciona str.rsplit()?
Puedes hacer que str.rsplit funcione para diferentes situaciones, por ejemplo:
- Dividir una cadena básica
txt = "manzana, plátano, cereza"
result = txt.rsplit(", ", 1)
print(result) # Salida: ['manzana, plátano', 'cereza']
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaEn este caso str.rsplit() realiza una sola división desde el final, gracias al parámetro maxsplit=1.
- Uso predeterminado (sin parámetros)
txt = "Python es increíble"
result = txt.rsplit()
print(result) # Salida: ['Python', 'es', 'increíble']
Aquí, str.rsplit() funciona como str.split(), ya que no se especifica maxsplit.
- Separador personalizado
url = "https://www.keepcoding.io/bootcamp"
parts = url.rsplit("/", 1)
print(parts) # Salida: ['https://www.keepcoding.io', 'bootcamp']
Usar un separador como “/” y limitar las divisiones a una ayuda a extraer solo la última parte de una URL.
str.split() y str.rsplit(): ¿cuáles son sus diferencias?
Pese a que ambos ambos métodos dividen cadenas, la diferencia radica en la dirección desde la que comienzan las divisiones:
Método | Dirección de división | Ejemplo práctico | Resultado esperado |
---|---|---|---|
split | Desde el inicio | "a b c".split(" ", 1) | ['a', 'b c'] |
rsplit | Desde el final | "a b c".rsplit(" ", 1) | ['a b', 'c'] |
¿En qué contexto aplicar str.rsplit?
- Procesamiento de rutas o URLs: Es común usar str.rsplit() para obtener nombres de archivos o directorios desde una ruta:
path = "/home/user/documents/file.txt"
file_name = path.rsplit("/", 1)[-1]
print(file_name) # Salida: "file.txt"
- Manipulación de texto delimitado: Cuando trabajas con datos delimitados, str.rsplit() te permite extraer las últimas secciones sin alterar el resto:
data = "id,name,age,city"
last_field = data.rsplit(",", 1)[-1]
print(last_field) # Salida: "city"
- Análisis de logs o textos largos: En archivos de registro, puedes dividir una línea desde el final para obtener datos relevantes rápidamente:
log = "2024-12-01 12:34:56 INFO: User login successful"
info = log.rsplit(" ", 1)
print(info) # Salida: ['2024-12-01 12:34:56 INFO:', 'User login successful']
Aprende a manejar fragmentos de código interesante e inicia tu caminoe n el mundo del desarrollo de software por medio del bootcamp de inicio en la programación, con el cual te instruirás de la manera adecuada e idónea para incursionar rápidamente en el mercado labora. No le des más largas a tu futuro y adquiere grandes beneficios con nosotros. ¡El éxito es aquí y ahora!