2009-11-09 65 views
1

我想做到以下几点:如何用字符串中的“ /”替换“/”?

if (string.Contains("/")) 
{ 
    string.Replace("/", "\/"); //this isn't valid 
} 

我已经试过

string.Replace("/", "\\/"); 

,但是这给了我什么,我开始。我怎样才能做到这一点?

感谢

回答

3

字符串是不可变的,这意味着你做一个字符串导致一个新的任何修改,您应分配Replace方法的结果:

if (myString.Contains("/")) 
{ 
    myString = myString.Replace("/", "\\/"); 
} 
3

String.Replace回报有由替换字符串 - 它不会改变字符串本身。它不能;字符串是不可变的。你需要的东西,如:

text = text.Replace("/", "\\/"); 

(在以后的例子,这将是有益的,如果你能顺便说一句使用有效的变量名这意味着,希望有工作的代码可以使用相同的名称作为回应你用过这些。 。)

+0

谢谢托尼的好建议 – 2009-11-09 23:53:29

1

一种方法是使用逐字字符串文字

string.Replace("/", @"\"); 
+3

你的意思是“逐字字符串字面值” - 任何用双引号是字符串字面值。 – 2009-11-09 23:53:20

+0

糟糕。你是对的。 – Bryan 2009-11-10 01:02:04