Последовательность файлов> Найти шаблон имени - PullRequest
0 голосов
/ 23 марта 2011

Я пытаюсь найти надежный способ решить несколько типов последовательностей файлов.

Рассмотрим эти последовательности

file_0000.jpg
file_0001.jpg
file_0002.jpg и т. д.
&
new1File001.jpg
new1File002.jpg
new1File003.jpg

Так что нужно выяснить, где начинается первый десятичный знак кода последовательности.

FileInfo[] files = new DirectoryInfo(@"\\fileserver\").GetFiles("*.*", SearchOption.AllDirectories);
var grouped = files.OrderBy(f => f.Name).GroupBy(f => f.Name.Substring(0, f.Name.LastIndexOf("_")));

Очевидно, что это находит последовательности файлов, где нумерация последовательностей отделена "_". Я хочу, чтобы он был отфильтрован по позиции первого десятичного знака последней десятичной последовательности. Мои навыки регулярных выражений не очень хороши, и даже тогда я не знаю, как использовать их в выражении lamba.

Основной вопрос в том, как мне узнать, где начинается строка number для вышеупомянутых случаев.

Любые указатели были бы великолепны!
Спасибо,
-Johan

1 Ответ

1 голос
/ 23 марта 2011

Да, регулярное выражение для спасения:

var r = new Regex(@".+(\d{2,}).");
var grouped = 
    files.
        OrderBy(f => f.Name).
        GroupBy(f => r.Match(f.Name).Groups[0].Value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...