Al trabajar con archivos en C#, es común que necesitemos realizar búsquedas dentro de un directorio para encontrar archivos que cumplan ciertos criterios. Una de estas búsquedas puede ser la de encontrar todos los archivos que contienen cierto valor en su nombre. En este artículo, veremos cómo podemos realizar esta búsqueda de manera sencilla y eficaz en C#.
Para buscar los archivos que contienen cierto valor en su nombre, podemos utilizar un filtro que incluya el valor que estamos buscando. Por ejemplo, si queremos buscar todos los archivos que contienen la palabra "ejemplo" en su nombre, podemos utilizar el siguiente código:
Por ejemplo, si queremos buscar todos los archivos que contienen un número en su nombre, podemos utilizar la siguiente expresión regular:
Utilizando el método GetFiles
Una forma sencilla de buscar archivos que contienen cierto valor en su nombre es utilizando el método GetFiles de la clase Directory. Este método nos permite obtener una lista de archivos que se encuentran en un directorio específico, y podemos utilizar un filtro para obtener únicamente los archivos que cumplan cierto criterio.Para buscar los archivos que contienen cierto valor en su nombre, podemos utilizar un filtro que incluya el valor que estamos buscando. Por ejemplo, si queremos buscar todos los archivos que contienen la palabra "ejemplo" en su nombre, podemos utilizar el siguiente código:
string directorio = "C:/Directorio";
string[] archivos = Directory.GetFiles(directorio, "*ejemplo*");
Este código nos retornará una lista de todos los archivos que contienen la palabra "ejemplo" en su nombre y que se encuentran dentro del directorio especificado.
Utilizando expresiones regulares
Otra opción para buscar archivos que contienen cierto valor en su nombre es utilizar expresiones regulares. Las expresiones regulares nos permiten buscar patrones específicos dentro de un texto, por lo que podemos utilizarlas para buscar archivos que contengan cierto valor en su nombre.Por ejemplo, si queremos buscar todos los archivos que contienen un número en su nombre, podemos utilizar la siguiente expresión regular:
string patron = @"\\d+";
Regex regex = new Regex(patron);
string[] archivos = Directory.GetFiles(directorio).Where(r => regex.IsMatch(Path.GetFileNameWithoutExtension(r))).ToArray();
Este código utiliza la clase Regex para buscar todos los archivos que contienen un número en su nombre. La expresión regular utilizada busca cualquier secuencia de uno o más dígitos en el nombre del archivo.
Comentarios
Publicar un comentario