0

我有一条路径:

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

我需要检查这个路径是否有文件夹“TestResults”,如果有,那么我需要删除它并将新路径返回为

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

我知道我可以使用修剪和拆分来实现这一点。但只是为了确保我选择了正确的选择。实现这一目标的最佳方法是什么?

任何帮助真的很受欢迎。

4

2 回答 2

1

您可以使用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

这里有一个DEMO

于 2013-08-24T11:39:46.760 回答
1

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

例如:

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
于 2013-08-24T12:18:43.140 回答