Регулярное выражение для извлечения части пути к файлу
Я хочу создать регулярное выражение, чтобы дать мне часть пути к файлу.
Например:
C:\Users\CoolDude\Documents\Access\Test.pdf
я хочу, чтобы регулярное выражение давало мне только
Documents\Access\Test.pdf
Имя папки не всегда будет "Документы" после имени пользователя.
Есть Идеи?
Что я уже пробовал:
Все еще пытаясь. Пока что никакого рабочего решения нет.
Michael_Davies
Если вы уверены, что C:\Users\SomeUserNameHere\... тогда все, что вам нужно сделать, это извлечь строковую часть после третьей обратной косой черты, которая возможна в регулярном выражении, вы также можете разделить строку на массив, используя\, чтобы получить компоненты.
Использование split;
Тусклый грех как строка = "C:\Users\CoolDude\Documents\Access\Test.pdf"
Dim sOut() как строка
СОУТ = грех.Сплит("\\")
Тогда массив sOut будет иметь следующие элементы;
С:
Пользователь
Хладнокровие
Документы
Доступ
Test. pdf
Затем вы можете восстановить строку из элемента 3.
Имейте в виду, что рабочие каталоги пользователей могут быть перемещены, как и мои, я никогда не держу их на диске C:, в другое место, и в этом случае правила, возможно, изменятся.
PIEBALDconsult
Используйте классы в системе.Вместо этого пространство имен IO.
George Swan
Я бы использовал Сплит вот так
путь к строке = @"C:\Users\CoolDude\Documents\Access\Test.pdf";
int count = путь.Count (c => c =='\\');
ArraySegment< string & gt; splitArray=новый ArraySegment & lt;string> (путь.Сплит('\\'),граф-2,3);
string pathResult= строка.Join ( "\\ " , splitArray);