我无法弄清楚如何删除字符串的结尾,所以我会这样做。
string CurrentJob = @"F:\Jobs\Person\Selected Job\File"
string BackCurrentJob = @"F:\Jobs\Person\Selected Job"
我希望能够让程序查找最后一个实例" \"出现Char然后删除所有内容。
回答
我想感谢所有评论的人我最后走了一条不同的路线,然后我计划开始使用。
var x = System.IO.Path.GetDirectoryName(CurrentJob);
答案 0 :(得分:3)
LastIndexOf是另一种选择:
var x = CurrentJob.Substring(0, CurrentJob.LastIndexOf("\\"));
但肯定清洁工将是GetDirectoryName
var x = System.IO.Path.GetDirectoryName(CurrentJob);
答案 1 :(得分:1)
由于您的输入字符串是文件系统路径,请使用System.IO.Path
class:
using System.IO;
// ...
string CurrentJob = @"F:\Jobs\Person\Selected Job\File";
string BackCurrentJob = Path.GetDirectoryName(CurrentJob);
GetDirectoryName()
method将返回父目录路径而不尾随/
,因此如果您需要随后将其与另一个相对路径合并,请使用Path.Combine()
(而不是摆弄可选的/
):
string CurrentJobLog = Path.Combine(BackCurrentJob,@"job.log");
答案 2 :(得分:-1)
string BackCurrentJob = Path.GetDirectoryName(CurrentJob);
这将返回:F:\Jobs\Person\Selected Job
下面的链接解释了了解Path.GetDirectoryName方法所需的一切: