我是C#的新手并且正在努力解决字符串问题。我有一个这样的字符串:
C:\User\Max\Pictures\
我有多个文件路径:
C:\User\Max\Pictures\car.jpg
C:\User\Max\Pictures\trains\train.jpg
如何从这些文件路径中删除基本路径以获取:
car.jpg
trains\train.jpg
这样的事情失败了:
string path = "C:\\User\\Max\\Pictures\\";
string file = "C:\\User\\Max\\Pictures\\trains\\train.jpg";
string newfile = file.Substring(file.IndexOf(path));
答案 0 :(得分:4)
您希望在file
的长度之后获取path
的子字符串:
string newfile = file.Substring(path.Length);
请注意,在处理文件路径时,使用Path
方法(例如Path.GetFileName()
)是个好主意(尽管它不适用于" train&#34 ;例子)。
答案 1 :(得分:1)
另一个答案是用空字符串替换你的路径:
line[1]
答案 2 :(得分:0)
有一些特殊的类来处理文件路径
var filePath = new FileInfo("dd");
在filePath.Name中是文件whitout目录的文件名
因此,对于您的场景,您想要剥离基础目录。所以你可以这样做
var filePath = new FileInfo(@"c:\temp\train\test.xml");
var dir = filePath.FullName.Replace(@"c:\temp", String.Empty);