string.Replace对引用不起作用

Azh*_*har 6 .net c# asp.net c#-3.0

((string)dt.Rows[i][1]).Replace("'", "\\'")
Run Code Online (Sandbox Code Playgroud)

我想要的结果是,如果任何字符串有引号,则将其更改为斜杠引号,例如John's- >John\'s

但上面的替换功能不能正常工作.结果就像John\\'s

但是如果我们将代码更改为

((string)dt.Rows[i][1]).Replace("'", "\'")
Run Code Online (Sandbox Code Playgroud)

它给出了结果 John's

无论如何都会改变它.

Pau*_* pk 16

因为反斜杠是转义字符,所以你需要告诉它你要把它当作文字字符串来对待它.你可以通过在字符串前加一个@来做到这一点:

((string)dt.Rows[i][1]).Replace("'", @"\'") 
Run Code Online (Sandbox Code Playgroud)


Dea*_*n J 9

尝试双反斜杠.

\\

只有一个反斜杠就是逃避; 二是实际的反斜杠.