C# C“如何替换\”;加上;

C# C“如何替换\”;加上;,c#,C#,我想用“替换字符串中的所有\”,但不知道如何替换。 我试过: result=result.Replace("\\\"","\""); 它不起作用。 谢谢。试试: result = result.Replace(@"\" + '"', "\""); 嗯,是的,琼斯。。。我只是输入了几乎相同的内容: string result = @"\\Hi\\"; result.Replace(@"\",String.Empty); //result is now: "Hi" 重新阅读这个问题,我认为在

我想用“替换字符串中的所有\”,但不知道如何替换。 我试过:

result=result.Replace("\\\"","\"");
它不起作用。 谢谢。

试试:

result = result.Replace(@"\" + '"', "\"");

嗯,是的,琼斯。。。我只是输入了几乎相同的内容:

string result = @"\\Hi\\";
result.Replace(@"\",String.Empty);

//result is now: "Hi"
重新阅读这个问题,我认为在字符串中转义字符的问题上有点混乱,正如前面的评论所说,也许可以在即时窗口中查看结果?。使用文字运算符使其更易于阅读和使用


琼斯和奥塞特瑞克对这个问题的解读比现在更多。如果有逃逸序列,要处理的是另一个问题。使用regex很容易做到这一点…

检查下面的代码,这非常有效

result=result.Replace(@"\"+"\"","\"");
我就是这样尝试的:

string given = "google\\\"";
System.Console.WriteLine(given);
string result = given.Replace(@"\"+"\"","\"");
System.Console.WriteLine(result);
输出:

string given = "google\\\"";
System.Console.WriteLine(given);
string result = given.Replace(@"\"+"\"","\"");
System.Console.WriteLine(result);
谷歌\“

谷歌“


您在哪里查看结果字符串?如果它在调试器中,它将在“每个”前面加一个\,但字符串将“正常”显示“在其他任何地方都可以。它确实会起作用,但我怀疑您正在调试器中查看字符串,并因此而感到不适。如果它确实出了问题,并且您不只是在调试器中查看前面提到的结果,请尝试使用以下术语在此处搜索:
[c#]unescape string
。您将获得许多显示问题可能解决方案的结果。如果字符串实际上不包含序列
\
“”,但只包含
,不带反斜杠,则
替换
当然将替换零次出现。由于调试器的显示格式,您可能认为字符串与实际不同。请给我们一个示例字符串。告诉我们你的代码返回什么,然后你希望它返回什么。什么?我回答说他不是在找字符串。空的问题不是如何删除字符串中的所有反斜杠。它非常明确地询问如何用给定字符串中的
替换
。即,删除紧跟在双引号字符前面的反斜杠。删除所有反斜杠可以做到这一点,但也会产生不良的副作用,例如取消字符串中其他所有转义字符的换行,或者删除作为数据一部分的反斜杠。这与OP使用的代码没有什么不同,只是看起来有所不同。您可以发布字符串结果的初始值吗?尽管
@“\\”+“\\”
“\\\”
完全相同。希望howexg9能评论或更新他的问题,看看哪里出了问题。@Tory是的,你是对的。当我在在线代码编辑器中尝试第一次检查时,它向我显示了错误。但现在这是可行的。谢谢你:)。