总的来说,我试图从路径末尾取下文件名并显示路径的其余部分。 例如,此路径:C:\ Users \ Documents \ Development \ testing \ 11.0.25.10 \ AUW_11052_0_X.pts
我想剥离“AUW_11052_0_X.pts”文件,只显示“C:\ Users \ Documents \ Development \ testing \ 11.0.25.10 \”
究竟是怎么回事?我不知道如何将其变成正则表达式。
继承我的问题更详细:
我要做的是创建一个带有两个参数的正则表达式函数,原始路径然后是文件名(程序在某一点循环通过列表,其中存储所有文件并从中获取文件名)我打算创建一个正则表达式函数,在最后一个“\”字符之后抓取任何东西并将其与文件名参数进行比较。如果它确实匹配而不是剥离文件名,如果它没有,那么就把它留下来。我的问题是弄清楚如何做一个正则表达式模式,在最后一个“\”字符之后找到任何东西,我不知道如何
答案:我找到了答案,模式是^(.*[\\\/])
这将抓住每个角色直到最后一个“\”
答案 0 :(得分:11)
您正在寻找Path.GetDirectoryName()
。
答案 1 :(得分:0)
为什么你不能做这样的事情?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace directorysearch
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"c:\users\documents\development\testing");
FileInfo[] files = null;
DirectoryInfo[] dirs = null;
dirs = di.GetDirectories();
foreach (DirectoryInfo dir in dirs)
{
files = dir.GetFiles("*", SearchOption.TopDirectoryOnly);
}
}
}
}
这允许你输入基本路径(c:\ users \ documents \ development \ testing),然后操作下面的每个目录,然后操作每个目录下的每个文件?