String.replace с дословной строкой

У меня есть строка, в которой есть несколько вхождений следующего текста, в точности так, как он выглядит:

\\(Y/A M D/J\\

Незакрытые круглые скобки вызывают проблемы, поэтому я решил удалить поврежденный раздел, так как мне не нужна эта часть для использования большей строки.

Я пытался использовать следующую строку, чтобы удалить текст, однако Line идентичен до и после запуска:

Line = Line.Replace(@"\\(Y/A M D/J\\", "");

Я использовал дословный идентификатор строки, чтобы избежать путаницы с необходимостью экранирования специальных символов вручную. Есть ли что-то особенное, что требуется для выполнения string.replace() при работе со стенографическими строками?

Примечание. Получаемые мной значения строки извлекаются из функции быстрого просмотра Visual Studio, где я проверяю Line и копирование значения.

1 ответ

Вы уверены, что \\ в исходную строку не входят escape-символы? Следующий фрагмент работает по вашему желанию, но принимает исходное значение, input, именно так, как показано. Результат output будет содержать some more text:

var input = @"\\(Y/A M D/J\\some more text";
var output = input.Replace(@"\\(Y/A M D/J\\", "");

Ссылка на.NET Fiddle для демонстрации

Другие вопросы по тегам