试图用文字C替换'

时间:2013-08-02 13:11:42

标签: c# string replace literals

我这里有一个小问题。我试图用''

替换Character'

我通过以下方式尝试了字符串替换方法:

1

string test = "HISTOIRE D'O, CHAPITRE II";
test = test.Replace("'","\'");

String测试中没有任何更改与声明的

相同

2

string test = "HISTOIRE D'O, CHAPITRE II";
test = test.Replace("'","\\'");

这格式化我的字符串,如“HISTOIRE D \\'O,CHAPITRE II”;

尚未在Google上找到任何内容。

感谢您的帮助。

5 个答案:

答案 0 :(得分:5)

你的第二个代码是正确的。

  

这格式化我的字符串“HISTOIRE D \'O,CHAPITRE II”;

不,它确实没有。这就是它在调试器中看起来的方式,但是如果将它转储到控制台或类似的东西,你会看到只有一个反斜杠。

作为替代方案,您可以使用逐字字符串文字:

test = test.Replace("'", @"\'");

答案 1 :(得分:1)

你的第二个案子似乎是正确的。看起来这只是在degubber中的样子。尝试在控制台上书写,你会看到预期的结果。

enter image description here

您可以改用 verbtaim string literal ;

string test = "HISTOIRE D'O, CHAPITRE II";
test = test.Replace("'", @"\'");

答案 2 :(得分:0)

你的第二个例子正在运行,但是当你在调试器中查看结果时,它“有用”地通过向它添加一个新的反斜杠来逃避反斜杠。

如果您将结果打印到控制台窗口,您应该会看到您的期望。

答案 3 :(得分:0)

test = test.Replace("'", @"\'");

答案 4 :(得分:0)

这应该可以解决问题:

string test = "HISTOIRE D'O, CHAPITRE II";
test = test.Replace("'", @"\'");