2011-08-16 13 views
7

以下は私の文字列値C#で文字列パスの拡張子を変更する方法は?

string strFile = @"http://login.com/Uploads/g05fgxeto4dvsf5531yb3l45_16_8_2011_1_25_37.doc"; 

であると私は

http://login.com/Uploads/g05fgxeto4dvsf5531yb3l45_16_8_2011_1_25_37.pdf 

のおかげで、このファイルパスの値を交換する必要があります。

答えて

7
string strFile = @"http://login.contentraven.com/Uploads/g05fgxeto4dvsf5531yb3l45_16_8_2011_1_25_37.DOC"; 

string strTemp = Path.GetExtension(strFile).ToLower(); 

if (strTemp==".doc") 
{ 
    strFile = Path.ChangeExtension(strFile, "pdf"); 
} 
+0

ThankQ ...そのPefect –

21
string pdfFile = Path.ChangeExtension(strFile, ".pdf"); 
+0

おかげでステファン、あなたは正しいです、私はちょうど私がそれを逃したリコール。 –

+0

あなたはあなたの答えを更新したので私のコメントを削除しました:-) ... so +1 now :) –

+3

[documentation](http://msdn.microsoft.com/de-de/library/ path.ChangeExtension'の状態:system.io.path.changeextension.aspx):パスと拡張子のどちらにもピリオド(。)が含まれていない場合、ChangeExtensionはピリオドを追加します。つまり、第2引数にピリオド – Stephan

0
例えばこのよう

string strFile = @"http://login.com/Uploads/g05fgxeto4dvsf5531yb3l45_16_8_2011_1_25_37.doc"; 
string newString = String.Format("http://login.com/Uploads/{0}", strFile.Split('/').Last()); 
+0

これは、以下を含む文字列を作成します:http://login.com/Uploads/g05fgxeto4dvsf5531yb3l45_16_8_2011_1_25_37.doc – IanNorton

+1

申し訳ありませんが、私は今朝盲目です。私は魔法のように、置換されるべき部分としてURLを見ました。拡張子.Path.ChangeExtensionは間違いなく正しい方法です。 – kfuglsang

0
string [email protected]"http://login.contentraven.com/Uploads/g05fgxeto5531yb3l45_16_8_2011_1_25_37.DOC"; 


string strTemp = Path.GetExtension(strFile).ToLower(); 

if (strTemp==".doc") 
{ 
    strFile = Path.ChangeExtension(strFile, "pdf"); 
} 
+0

downvote ?!それは私のために働きます。 –

関連する問題