如何将我的File.Contains转换为Regex?

时间:2018-04-10 16:28:39

标签: c# asp.net

我正在尝试做的简短背景,我有一个可以选择多个文件的按钮上传。我试图将文件名与dateformat匹配,如果匹配我将做一些事情。

如何将此代码应用于我的代码?

            string testDate = "3214312402-17-2013143214214";
            Regex rgx = new Regex(@"\d{2}-\d{2}-\d{4}");
            Match mat = rgx.Match(testDate);
            Console.WriteLine(mat.ToString());
            Console.ReadLine();

我的代码

    string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                HttpFileCollection hfc = Request.Files;

                for (int i = 0; i < hfc.Count; i++)
                {
                    if (hfc[i].FileName.Contains("2018-4-8 20-13-34"))
                    {
                        Response.Write(hfc[i].FileName + "Test");
                        hfc[i].SaveAs(@path + "\\" + hfc[i].FileName + "Test");
                    }
                    else
                    {
                        Response.Write(hfc[i].FileName);
                        hfc[i].SaveAs(@path + "\\" + hfc[i].FileName);
                    }

                }

我上面的代码效果很好,但我唯一的问题是,这只适用于具有该特定日期的特定文件名,我需要为Contains应用正则表达式代码,并基于我迄今为止所研究的内容,包含只检测确切的字符串,不像正则表达式,可用于检测特定格式。

1 个答案:

答案 0 :(得分:1)

替换

hfc[i].FileName.Contains("2018-4-8 20-13-34")

有关

Regex.IsMatch(hfc[i].FileName, @"\d{4}-\d-\d \d{2}-\d{2}-\d{2}")