2015-02-05 1 views
0

У меня есть путь к файлу строки, и я ищу, чтобы получить имя папки, которая находится рядом с файлом.Regex получить то, что родительский каталог моего файла находится в пути файла строки

Вот мой путь к файлу:

Test/FilePathNeeded/testing.txt 

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

Надеюсь, это имеет смысл. Пожалуйста, дайте мне знать, если это не так. Кто-нибудь сможет помочь?

+2

Является ли это находятся quirement, для которого вы используете regex? –

+0

@TomFenech - Я думаю, это не обязательно, я просто искал наиболее эффективный способ сделать это. – scapegoat17

+0

Как насчет 'var dir = Path.GetDirectoryName (" Test/FilePathNeeded/testing.txt ");'? – EZI

ответ

2

Без Regex, Вы можете использовать:

string directory = new DirectoryInfo(
           Path.GetDirectoryName("Test/FilePathNeeded/testing.txt") 
            ).Name; 

Path.GetDirectoryName возвратит Test/FilePathNeeded, которую можно использовать в конструкторе DirectoryInfo и получить Name.

Другой вариант заключается в использовании Directory.GetParent как:

var directory = Directory.GetParent("Test/FilePathNeeded/testing.txt").Name; 
1

Использование класса FileInfo:

var fileInfo = new FileInfo(@"Test/FilePathNeeded/testing.txt"); 
    var directoryInfo = fileInfo.Directory; 
    var parentDirectoryName = directoryInfo.Name; 
2

Просто используйте:

var dir = new FileInfo("Test/FilePathNeeded/testing.txt").Directory.Name; 

Это вернет FilePathNeeded

Смежные вопросы