我收到了一个 XML 字符串,我正试图通过 XmlReader 对其进行解析,我正试图去除 \"
字符。
我试过了
.Replace(@"\", "")
.Replace("\\''", "''")
.Replace("\\''", "\"")
加上其他几种方式。
有什么想法吗?
最佳答案
你是不是这样试过的:
string text = GetTextFromSomewhere();
text.Replace("\\", "");
text.Replace("\"", "");
?如果是这样,那就是问题所在 - Replace
不会更改 original 字符串,它会返回一个 new 字符串并执行替换...所以你会想要:
string text = GetTextFromSomewhere();
text = text.Replace("\\", "").Replace("\"", "");
请注意,这将替换每个反斜杠 和 每个双引号字符;如果您只想替换对“反斜杠后跟双引号”,您只需使用:
string text = GetTextFromSomewhere();
text = text.Replace("\\\"", "");
(如评论中所述,这是因为字符串在 .NET 中是不可变的 - 一旦您以某种方式获得了一个字符串对象,该字符串将始终具有相同的内容。您可以将引用分配给不同的 字符串当然是一个变量,但这实际上并没有改变现有字符串的内容。)
关于c# 替换\"字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4673437/