Tim*_*lts 25 c# replace special-characters
我发送了一个XML字符串,我试图通过XmlReader解析,我试图去除\"字符.
我试过了
.Replace(@"\", "")
.Replace("\\''", "''")
.Replace("\\''", "\"")
Run Code Online (Sandbox Code Playgroud)
加上其他几种方式.
有任何想法吗?
Jon*_*eet 55
你是这样尝试的:
string text = GetTextFromSomewhere();
text.Replace("\\", "");
text.Replace("\"", "");
Run Code Online (Sandbox Code Playgroud)
?如果是这样,那就是问题 - Replace不更改原始字符串,它会返回一个新的字符串,并执行替换...所以你想要:
string text = GetTextFromSomewhere();
text = text.Replace("\\", "").Replace("\"", "");
Run Code Online (Sandbox Code Playgroud)
请注意,这将替换每个反斜杠和每个双引号字符; 如果你只是想更换对 "反斜线后跟双引号"你只需使用:
string text = GetTextFromSomewhere();
text = text.Replace("\\\"", "");
Run Code Online (Sandbox Code Playgroud)
(正如评论中所提到的,这是因为字符串在.NET中是不可变的 - 一旦你以某种方式得到一个字符串对象,那个字符串将始终具有相同的内容.你可以将一个不同字符串的引用分配给一个变量当然,但这实际上并没有改变现有字符串的内容.)
小智 8
在.NET Framework 4和MVC中,这是唯一有效的表示:
Replace(@"""","")
Run Code Online (Sandbox Code Playgroud)
在任何组合中使用反斜杠都不起作用......
试试这样:
Replace("\\\"","");
Run Code Online (Sandbox Code Playgroud)
这将替换\"空字符串的出现.
例如:
string t = "\\\"the dog is my friend\\\"";
t = t.Replace("\\\"","");
Run Code Online (Sandbox Code Playgroud)
这将导致:
the dog is my friend
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
175916 次 |
| 最近记录: |