我正在从目录中读取几个文件,并将其路径插入字符串数组中,如下所示:
string[] file_tree = Directory.GetFiles(Path.GetDirectoryName(file_path), "*.*", SearchOption.AllDirectories);
数组中的每个元素如下:
C:\\filepath1\\filepath2\\filepath3\\filepath4\\file.txt
我希望他们最终看起来像这样:
\\filepath3\\filepath4\\file.txt
注意:就我而言,父目录的名称(filepath1
,filepath2
等)并不总是相同。
删除前X个父目录的最有效方法是什么?
答案 0 :(得分:2)
int x = 2;
file_tree = file_tree.Select(a => string.Join("\\",a.Split('\\').Skip(x).ToArray())).ToArray();
说明:
a.Split('\\')
将字符串除以\\
.Skip(x)
从其中跳过x个元素
string.Join("\\", result)
将结果与\\
结合在一起并产生一个字符串
file_tree.Select(a => ...)
为数组中的每个项目(a)选择新产生的字符串