我想在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)。
答案 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;