Замена определенного символа на string.replace()
Я хотел бы заменить все случаи /
в \
, я использовал этот фрагмент:
_url = _url.Replace("/",@"\");
но это заменяет /
в \\
,
Почему это происходит? Как я могу изменить фрагмент, чтобы получить хороший результат
2 ответа
Ваша строка, скорее всего, уже содержит одну обратную косую черту!
I suspect your string already actually only contains a single backslash,
but you're looking at it in the debugger which is escaping it for you into
a form which would be valid as a regular string literal in C#.
процитировал Джона Скита из: замените "\\" на "\" в строке в C#
Я собираюсь догадаться, что вы пытались проверить правильность работы в отладчике. Подсказки отладчика в Visual Studio экранируют символы обратной косой черты, так что если вы видите \\
во всплывающей подсказке строка содержит только 1 обратную косую черту. Щелкните значок увеличительного стекла в конце всплывающей подсказки в отладчике, чтобы открыть диалоговое окно, содержащее неэкранированный текст.
Редактировать: Это относится и к окнам часов, включая часть с увеличительным стеклом в конце.