我们如何从路径中删除特定的文件夹名称并返回新的路径

本文关键字:路径 文件夹 返回 我们 删除 | 更新日期: 2023-09-27 18:28:48

我有一个路径:

 "C:''Users''dev''Test''TestResults''Config''Report.xml"

我需要检查这个路径是否有文件夹"TestResults",如果有,我需要删除这个并返回新路径作为

"C:''Users''dev''Test''Config''Report.xml"

我知道我可以通过修剪和分割来实现这一点。但只是为了确保我能做出正确的选择。实现这一目标的最佳方式是什么?

任何帮助真的很有用。

我们如何从路径中删除特定的文件夹名称并返回新的路径

在这种情况下,我不会使用字符串替换方法。为什么?

例如:

string path = "C:''Users1''Users2''Users122''Users13''Users133''filename.xml";
path = path.Replace("''TestResults", string.Empty);
// you will get "C:'Users222333'filename.xml"

这不是你所期望的。

那么如何解决这个问题,

path = string.Join(Path.DirectorySeparatorChar.ToString(),      
           path.Split(Path.DirectorySeparatorChar).Where(x=> x!="Users1").ToArray()));
//C:'Users2'Users122'Users13'Users133'filename.xml

您可以使用String.Replace方法,如;

返回一个新字符串,其中所有指定Unicode的出现当前字符串中的字符或字符串被替换为另一个指定的Unicode字符或字符串。

string path = "C:''Users''dev''Test''TestResults''Config''Report.xml";
path = path.Replace("''TestResults", string.Empty);
Console.WriteLine(path);

输出将为;

C:'Users'dev'Test'Config'Report.xml

这里是演示