Ir al contenido principal

Búsqueda de archivos por cierto texto en el nombre en un directorio en C#

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#.

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

Entradas más populares de este blog