Acerca de:

Este blog contiene los códigos, ejemplos y bases de datos que he usado cuando aprendía acerca de algún tema específico. En lugar de borrarlos (una vez dominado ya el tema), he decidido publicarlos :)

martes, 18 de enero de 2011

C# usando LastIndexOf y Substring para separar el nombre de un archivo de la ruta donde está almacenado

Ya antes hice lo mismo en VB6. Ahora toca hacerlo desde C#.

Imaginemos que tengo este string que contiene la ruta a un archivo:

unaRuta = "C:\unaCarpeta\otraCarpeta\unArchivo.txt"

Y quisiera separalo en dos strings, con la ruta del archivo y el nombre del archivo por separado:

miRuta =  "C:\unaCarpeta\otraCarpeta\"
miArchivo = "unArchivo.txt" 

El código es el siguiente:


int n = unaRuta.LastIndexOf(@"\");  // la @ es para que considere el "\" como caracter
// se extrae la subcadena desde la primera letra hasta n+1
string miRuta = unaRuta.Substring(0, n + 1);
// se extrae la subcadena desde la letra n+1 hasta el final
string miArchivo = unaRuta.Substring(n + 1);