3

我知道我必须使用 Substring 来删除,但我不知道该怎么做。我需要像这样删除字符串的结尾

"C:\\Users\\myname\\Pictures\\shoeImage.jpg"

"C:\\Users\\myname\\Pictures"
4

4 回答 4

9

改用类的方法System.IO.Path,特别是GetDirectoryName.

于 2013-06-30T18:16:56.463 回答
4

你可以使用Path.GetDirectoryName方法。

返回指定路径字符串的目录信息。

Console.WriteLine(Path.GetDirectoryName("C:\\Users\\myname\\Pictures\\shoeImage.jpg"));

它返回这个;

C:\Users\myname\Pictures

这里有一个DEMO

有了String.SubString方法,你可以像这样使用它;

string path = "C:\\Users\\myname\\Pictures\\shoeImage.jpg";
Console.WriteLine(path.Substring(0, path.LastIndexOf(@"\")));
于 2013-06-30T18:18:54.820 回答
3

您应该FileInfo在这种情况下使用 -

FileInfo info = new FileInfo("C:\\Users\\myname\\Pictures\\shoeImage.jpg");
string name = info.DirectoryName;

或者

Path.GetDirectoryName("C:\\Users\\myname\\Pictures\\shoeImage.jpg");
于 2013-06-30T18:16:48.453 回答
1

如果要对其进行子字符串化:

var subString = yourString.SubString(0, yourString.LastIndexOf('\\'));
于 2013-06-30T18:18:58.523 回答