Как я могу получить подстроку из пути к файлу в C #? - PullRequest
3 голосов
/ 26 февраля 2011

у меня есть string path = c:\inetpub\wwwrroot\images\pdf\admission.pdf

Я использую это

path = path.LastIndexOf("\\").ToString();
path = path.Substring(path.LastIndexOf("/") + 1);

я хочу получить:

c:\inetpub\wwwrroot\images\pdf
c:\inetpub\wwwrroot\images\pdf\admission.pdf

Теперь я хочу получить файл admission.pdf из этого string path Как я могу это сделать?

Ответы [ 4 ]

10 голосов
/ 26 февраля 2011
string path = "c:\\inetpub\\wwwrroot\\images\\pdf\\admission.pdf";

string folder = path.Substring(0,path.LastIndexOf(("\\")));
                // this should be "c:\inetpub\wwwrroot\images\pdf"

var fileName = path.Substring(path.LastIndexOf(("\\"))+1);
                // this should be admin.pdf
7 голосов
/ 26 февраля 2011

В классе System.IO.Path есть несколько вспомогательных методов для извлечения частей путей / имен файлов из строк.

В этом случае System.IO.Path.GetFileName даст вам то, что вы хотите.

4 голосов
/ 26 февраля 2011

Почему Подстрока?

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

System.Io.Path.GetDirectoryName(full_filepath)

для получения имени папки и

System.Io.Path.GetFileName(full_filepath)

только для файла.

2 голосов
/ 26 февраля 2011
System.Io.Path.GetFileName(path);
...