Hirdetés

Keresés

Új hozzászólás Aktív témák

  • moseras

    tag

    válasz RedHarlow #8738 üzenetére

    Üdv,

    Egyetértek az előttem hozzászólokkal, néhány megjegyzésem lenne:

    string filesdir = Path.Combine(@"C:\tmp", "files");

    // Összes
    Console.WriteLine("Összes");
    string[] files = Directory.GetFiles(filesdir);
    foreach (var item in files)
    {
    Console.WriteLine(item);
    }
    Console.WriteLine($"{files.Length} db");

    // A GetFiles szűrője alapján (a GetFiles nem támogatja a Regex-et)
    Console.WriteLine();
    Console.WriteLine("A GetFiles szűrője alapján");
    files = Directory.GetFiles(filesdir, "REF*.xml");
    foreach (var item in files)
    {
    Console.WriteLine(item);
    }
    Console.WriteLine($"{files.Length} db");

    // Regex-el tovább szűrve
    Console.WriteLine();
    Console.WriteLine("Regex-el tovább szűrve");
    Regex reg = new Regex(@"REF\w+\d+\w+\.xml", RegexOptions.IgnoreCase);
    var rfiles = Directory.GetFiles(filesdir, "REF*.xml")
    .Where(path => reg.IsMatch(path))
    .ToList();
    foreach (var item in rfiles)
    {
    Console.WriteLine(item);
    }
    Console.WriteLine($"{rfiles.Count} db");

    Eredmény:

    Összes
    C:\tmp\files\1.xml
    C:\tmp\files\REFblabxx00001xxxblabla.xml
    C:\tmp\files\REFblabxx00002xxxblabla.xml
    C:\tmp\files\REFblabxx00003xxxblabla.xml
    C:\tmp\files\REFblabxx00004xxxblabla.xml
    C:\tmp\files\REFblabxx00005xxxblabla.xml
    C:\tmp\files\REFFFFFFFFFFFF.xml
    7 db

    A GetFiles szűrője alapján
    C:\tmp\files\REFblabxx00001xxxblabla.xml
    C:\tmp\files\REFblabxx00002xxxblabla.xml
    C:\tmp\files\REFblabxx00003xxxblabla.xml
    C:\tmp\files\REFblabxx00004xxxblabla.xml
    C:\tmp\files\REFblabxx00005xxxblabla.xml
    C:\tmp\files\REFFFFFFFFFFFF.xml
    6 db

    Regex-el tovább szűrve
    C:\tmp\files\REFblabxx00001xxxblabla.xml
    C:\tmp\files\REFblabxx00002xxxblabla.xml
    C:\tmp\files\REFblabxx00003xxxblabla.xml
    C:\tmp\files\REFblabxx00004xxxblabla.xml
    C:\tmp\files\REFblabxx00005xxxblabla.xml
    5 db

    Innentől kezdve tényleg tudni kellene, hogy mit is akarunk szűrni, mert ugye a REFFFFFFFFFFFF.xml nem mindegy, hogy benne van e, vagy nincs, vagy a számok és a REF között kell e lennie még további karakternek, ha igen, milyennek, hány darabnak, stb. De szerintem innen már boldogulsz vele.

    Imi.

Új hozzászólás Aktív témák