2010-03-09 74 views
0

我試過使用Path.GetDirectoryName(),但它不起作用。如何獲取路徑的目錄名稱?

我想要得到的是從/家/ nubela /測試/ some_folder,我想獲得「some_folder」

我怎樣才能做到這一點?該方法應該適用於Windows/Linux(單聲道)

謝謝!

回答

1

如果你有路徑作爲字符串已經可以使用這種方法提取的最低水平目錄:

String dir 
    = yourPath.Substring(
      yourPath.LastIndexOf(Path.DirectorySeparatorChar) + 1); 

由於該代碼使用Path.DirectorySeparatorChar它是獨立的平臺。

6

改爲使用Path.GetFileName?這些函數只對你提供的字符串起作用,不關心它是目錄還是文件路徑。

+0

我當然希望如此,我們總是說使用Path函數來實現可移植性。 – 2010-03-09 20:48:37

+0

這是正確的方法。該方法的名稱是誤導性的,但它所做的只是按照nubela的要求獲取路徑的最後部分。要小心特別的警告,如果你給它一個像「C:\ temp \」這樣的路徑,它將返回一個空字符串,因爲它只是得到最後一個路徑分隔符後面的內容,在這種情況下,它是在字符串的末尾。請參閱http://msdn.microsoft.com/en-us/library/system.io.path.getfilename.aspx – Monoman 2010-04-06 19:51:03

0

我的第一個想法是使用System.IO.Path.GetDirectoryName。但是您可以嘗試使用正則表達式來獲取字符串的最後一個子字符串。 Here is an answer in StackOverflow,使用正則表達式來回答這個問題。

相關問題