替换(“/”,“_”);不起作用

时间:2009-06-12 14:38:08

标签: c# replace

为什么这些似乎都不起作用?

String.Replace("/", "_");
String.Replace("//", "_");
String.Replace(((char)47).ToString(), "_");

名为“FileName”的字符串仍然显示“MyFile 06/06/09”

6 个答案:

答案 0 :(得分:22)

您是否将FileName.Replace分配给某些内容?它返回新的FileName,它实际上并没有改变它。

string fileName = FileName.Replace("//", "");

答案 1 :(得分:10)

你可能想这样做:

FileName = FileName.Replace("//", "")...

答案 2 :(得分:6)

试试这个:

FileName = FileName.Replace( "/", "_" );

注意从Replace函数赋予返回值。替换不会修改它被调用的对象。

答案 3 :(得分:4)

如果这是您的实际代码,那么您需要将其实际分配回值,如...

FileName = FileName.Replace("//", ""); 
FileName = FileName.Replace("/", ""); 
FileName = FileName.Replace(((char)47).ToString(), "_");

答案 4 :(得分:1)

Filename = FileName.Replace("//", ""); 
Filename = FileName.Replace("/", ""); 
Filename = FileName.Replace(((char)47).ToString(), "_");

答案 5 :(得分:1)

我要添加的另一件事是检查你的引用字符......如果你从Word粘贴,那么你最终会得到错误的字符。当然,如果是这样的话,你会得到一个编译时错误......