c# 替换\"字符

标签 c# replace special-characters

我收到了一个 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/

相关文章:

python - 用 np.nan 替换问号

带有特殊字符的 C# WindowsApp 文本框

c# - Entity Framework ,对布局相同但表名不同的两个表使用相同的模型

c# - 从给定时间重新使用 Kafka 消息

java - 如何使用固定宽高比 View 膨胀扩展 View

java - 使用正则表达式以任何顺序查找单词列表的子段

java - java中如何检查字符串是否具有全角字符

c# - 如何根据 asp.net 中的分辨率以编程方式创建填充客户端浏览器的按钮列表

regex - 使用 iname 在 Linux Find 命令中匹配 RegExp

c# - 正则表达式用 *** 替换所有密码