如何从字符串中删除扩展名中的数字?

时间:2016-06-29 10:12:36

标签: c# c#-4.0

我想在C#中使用字符串从Extension中删除数字。

  

例如:" 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)。

2 个答案:

答案 0 :(得分:-1)

您可以使用如图所示的正则表达式或简单的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

答案 1 :(得分:-3)

您可以使用Regex将数字替换为空字符串:

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

添加using System.Text.RegularExpressions;