Мне отправляется XML-строка, которую я пытаюсь разобрать с помощью XmlReader, и я пытаюсь удалить символы \"
.
Я пробовал
.Replace(@"\", "")
.Replace("\\''", "''")
.Replace("\\''", "\"")
плюс несколько других способов.
Любые идеи?
Мне отправляется XML-строка, которую я пытаюсь разобрать с помощью XmlReader, и я пытаюсь удалить символы \"
.
Я пробовал
.Replace(@"\", "")
.Replace("\\''", "''")
.Replace("\\''", "\"")
плюс несколько других способов.
Любые идеи?
Вы пытались сделать это следующим образом:
string text = GetTextFromSomewhere();
text.Replace("\\", "");
text.Replace("\"", "");
? Если да, то проблема - Replace
не изменяет исходную строку, она возвращает новую строку с выполненной заменой... так что вам нужно:
string text = GetTextFromSomewhere();
text = text.Replace("\\", "").Replace("\"", "");
Обратите внимание, что это заменит каждую обратную косую черту и каждый символ двойной кавычки; если вы только хотели заменить пару "обратная косая черта, за которой следует двойная кавычка", вы просто используете:
string text = GetTextFromSomewhere();
text = text.Replace("\\\"", "");
(Как упоминалось в комментариях, это связано с тем, что строки являются неизменными в .NET - как только у вас есть какой-либо строковый объект, эта строка всегда будет иметь одинаковое содержимое. Вы можете назначить ссылку на другую строку для переменная, конечно, но это фактически не изменяет содержимое существующей строки.)
Попробуйте следующее:
Replace("\\\"","");
Это заменит вхождения \"
пустой строкой.
Пример:
string t = "\\\"the dog is my friend\\\"";
t = t.Replace("\\\"","");
Это приведет к:
the dog is my friend
В .NET Framework 4 и MVC это единственное представление, которое сработало:
Replace(@"""","")
Использование обратной косой черты в любой комбинации не работает...
Заменить (@ "\" "," ")
Вам нужно использовать double-doublequotes для escape двойные кавычки в стенографической строке.
Где эти символы появляются? Вы видите их, если вы изучаете данные XML, например, в блокноте? Или вы видите их при анализе данных XML в отладчике. Если это последний, они являются только escape-символами для символов "
и поэтому являются частью фактических данных XML.
\ => \\ and " => \"
so Replace("\\\"","")