如何在C#中替换字符串路径

时间:2011-07-28 07:23:57

标签: string c#-2.0

string = @"http://192.168.30.40/mylytica/Uploads/EncryptedFile/whg_12_20_2010.pdf";
if (strEncrypt.Contains("/EncryptedFile"))
{
     strEncrypt.Replace(@"/EncryptedFile", @"/DecryptedFile");
}
iFrame_pdf.Attributes.Add("src", strEncrypt);

它对我不起作用:( 我需要将加密的文件路径替换为解密

提前致谢

4 个答案:

答案 0 :(得分:2)

.NET字符串是不可变的,因此Replace()返回一个新字符串。

这样做:

string strEncrypt = @"http://192.168.30.40/mylytica/Uploads/EncryptedFile/whg_12_20_2010.pdf";    
if (strEncrypt.Contains("/EncryptedFile"))    
{    
  strEncrypt = strEncrypt.Replace(@"/EncryptedFile", @"/DecryptedFile");
}

另外:如果strEncrypt类似于"http://192.168.30.40/mylytica/Uploads/EncryptedFile/EncryptedFile.pdf",请记得考虑结果应该是什么。

答案 1 :(得分:1)

字符串是不可变的,因此您需要将新字符串分配给变量:

strEncrypt = strEncrypt.Replace(@"/EncryptedFile", @"/DecryptedFile");

答案 2 :(得分:1)

你需要改变这个:

strEncrypt.Replace(@"/EncryptedFile", @"/DecryptedFile");

对此:

strEncrypt = strEncrypt.Replace(@"/EncryptedFile", @"/DecryptedFile");

来自String.Replace上的Microsoft文档(http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx):

请注意 此方法不会修改当前实例的值。相反,它返回一个新字符串,其中所有出现的oldValue都被newValue替换。

答案 3 :(得分:0)

string strEncrypt = @“http://192.168.30.40/mylytica/Uploads/EncryptedFile/whg_12_20_2010.pdf”;

if(strEncrypt.Contains(“EncryptedFile”))
{
  strEncrypt = strEncrypt.Replace(@“EncryptedFile”,@“DecryptedFile”); }