替换字符串中的反斜杠

时间:2012-05-25 10:33:25

标签: c# .net string

尝试在C#.net上的日期字符串中替换反斜杠时遇到一些问题。

到目前为止,我正在使用:

string.Replace(@"\","-")

但它没有做替换。有人可以帮忙吗?

5 个答案:

答案 0 :(得分:37)

string.Replace不会修改字符串本身,但会返回一个新字符串,这很可能是你扔掉了。这样做:

myString= myString.Replace(@"\","-");

在旁注中,这种操作通常出现在代码中,该代码使用格式化的日期字符串手动粘贴。大部分时间都有更好的方法来做你想要的(这是什么?)比这样的事情。

答案 1 :(得分:3)

因为所有人都说你需要在变量中取值。

所以它应该是

 val1= val1.Replace(@"\","-");

或者

 val1= val1.Replace("\\","-");

但不仅仅是..下面一个不起作用

 val1.Replace(@"\","-");

答案 2 :(得分:1)

以这种方式使用它。

oldstring = oldstring.Replace(@"\","-");

查找String.Replace返回类型。

它是一个返回校正字符串的函数。如果它只是简单地更改旧字符串,那么它将具有void返回类型。

答案 3 :(得分:0)

你也可以使用:

myString = myString.Replace('\\', '-'));

但是只是让你知道,日期斜杠通常是前进的/,而不是反斜杠\

答案 4 :(得分:0)

正如其他人所建议的那样,String.Replace不会更新原始字符串对象,而是返回一个新字符串。

myString= myString.Replace(@"\","-");

值得你理解字符串在C#中是不可变的,基本上是为了使它具有线程安全性。有关字符串及其不可变原因的更多详细信息,请参阅链接herehere