C# 如何从带有字符串的扩展名中删除数字?
我想从C#中带有字符串的扩展名中删除数字 例如:“Url1234.pdf”我希望最后一个答案看起来像“Url.pdf” 谢谢你的贡献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
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。请阅读。你可能会发现这门课很有趣。谢谢你的回答。