2015-11-04 5 views
0

Я пытался удалить последнюю часть строки, но не смог. Здесь была строка с именем 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"); 
Смежные вопросы