2015-11-04 106 views
0

我试图删除字符串的最后部分,但failed.Here字符串名为D:\software\VS2012\newtext.txt,我想修剪字符串的最后一节,所以在这里newtext.txt。我应该得到D:\software\VS2012,但如何在c#中做到这一点。当我试图删除所有具有'\'的字符串。这是我做的在C#中如何删除c中字符串的最后部分

string str = @"D:\softwares\VS2012\newtext.txt"; 
      str= str.Remove(str.IndexOf('\\')); 
      Console.WriteLine(str); 

回答

6

有一个在框架

string str = @"D:\softwares\VS2012\newtext.txt"; 
string path = System.IO.Path.GetDirectoryName(str); 

Reference

请注意,您的原始代码不起作用这个预制函数,因为要删除从第一个反斜杠开始,而不是最后一个。替换该行来使你的代码工作

str = str.Remove(str.LastIndexOf('\\')); 
+0

值得注意的是,原代码可以被修改为使用str.SubString()来完成相同的目标。但是,使用GetDirectoryName函数的原始建议绝对更直接。 –

4

尝试使用System.IO.Path.GetDirectoryName(string)

string dirname= System.IO.Path.GetDirectoryName(@"D:\softwares\VS2012\newtext.txt"); 
相关问题