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是的,你是对的。当我在在线代码编辑器中尝试第一次检查时,它向我显示了错误。但现在这是可行的。谢谢你:)。