Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从带有字符串的扩展名中删除数字?_C#_C# 4.0 - Fatal编程技术网

C# 如何从带有字符串的扩展名中删除数字?

C# 如何从带有字符串的扩展名中删除数字?,c#,c#-4.0,C#,C# 4.0,我想从C#中带有字符串的扩展名中删除数字 例如:“Url1234.pdf”我希望最后一个答案看起来像“Url.pdf” 谢谢你的贡献 var fileName = ""; if (file != null && file.ContentLength > 0) { fileName = System.IO.Path.GetFileNameWithoutExtension(file.FileNa

我想从C#中带有字符串的扩展名中删除数字

例如:“Url1234.pdf”我希望最后一个答案看起来像“Url.pdf”

谢谢你的贡献

  var fileName = "";
            if (file != null && file.ContentLength > 0)
            {
                fileName = System.IO.Path.GetFileNameWithoutExtension(file.FileName); //Path.GetFileName(file.FileName);
                var extension = System.IO.Path.GetExtension(file.FileName);
                DBConnect.OpenDB();
                DBConnect.DbSelect("select MAX(ID) as ID from tblFileUpload");
                if(DBConnect.dr.Read())
                {
                    fileName += DBConnect.dr["ID"].ToString();
                }
                DBConnect.CloseDB();
                var path = Path.Combine(Server.MapPath("~/File/"), fileName+extension);
                new FileUploadLayer().save("aa", fileName, file.ContentLength);
                file.SaveAs(path);
                UploadFile("aa");
            }

我保存了一个扩展名为(.pdf)的文件。该文件名也有数字。(Url1234.pdf)。因此,当我回叫它时,我需要删除这些数字,只需要字符串部分(Url.pdf)。

您可以使用正则表达式将数字替换为空字符串:

var result1 = Regex.Replace("Url1234.pdf", @"[\d-]", string.Empty);

使用System.Text.RegularExpressions添加

您可以使用如图所示的正则表达式或简单的LINQ查询,我还建议您使用
System.IO.Path

string originalPath = "Url1234.pdf";
string dir = Path.GetDirectoryName(originalPath);              // in this case ""
string extension = Path.GetExtension(originalPath);            // .pdf
string fn = Path.GetFileNameWithoutExtension(originalPath);    // Url1234
string newFn = String.Concat(fn.Where(c => !Char.IsDigit(c))); // Url
string newPath = Path.Combine(dir, newFn + extension);         // Url.pdf

你做了什么努力?欢迎来到stackoverflow。请阅读。你可能会发现这门课很有趣。谢谢你的回答。