2016-11-15 198 views
0

我有如下:刪除文件://前綴C#

string file = string.Concat(
       System.IO.Path.GetDirectoryName(
        System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase 
       ), 
       "bla.xml"); 

現在的文件是:

file:\C:\test\Debugbla.xml 

我如何刪除 「文件:\」 前綴?

感謝

+4

'.Replace(「file:\」,「」)' – sed

回答

6

Uri class是操縱Uri的方法。雖然string.Replace是一個選項,但最好使用明確爲特定情況設計的工具,並在必要時處理轉義規則。

string file = string.Concat(System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), "bla.xml"); 

file = new Uri(file).AbsolutePath; 
+0

[LocalPath](https://msdn.microsoft.com/en-us/library/system.uri.localpath%28v=vs.110% 29.aspx)可能更適合,但Uri班的確是對付Uris的正確方式。 –

0
file = file.Replace(@"file:\", ""); 

你可以用空字符串替換它。

0

您可以像這樣替換文件的路徑\部分。

string file = string.Concat(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), "bla.xml"); 
file = file.Replace(@"file:\",""); 
1

改爲使用Assembly.Location屬性,該屬性返回正常的文件路徑。

另外,使用Path.Join()