2016-06-29 22 views
-10

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)だけが必要です。

あなたは空の文字列と数字を置き換えるために正規表現を使用することができます
+7

どのような努力をしましたか? –

+2

ようこそstackoverflowへ。 [ask]をお読みください。 –

+0

クラス[FileInfo](https://msdn.microsoft.com/library/system.io.fileinfo.aspx)が興味深いかもしれません。 – Corak

答えて

-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 
+0

あなたの答えをありがとう。 – Namal

-3

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

が追加using System.Text.RegularExpressions;

関連する問題