C #: как заменить \ на

#c# #string #c#-4.0 #escaping

#c# #строка #c #-4.0 #экранирование

Вопрос:

У меня есть эта строка temp, и я хочу заменить \ на

 string temp = "\h\k";
  

Я пытался сделать, temp.Replace("\", "") однако результат hk
Я хочу, чтобы результат был hk

Как заменить "\" на "" ?

Спасибо

Комментарии:

1. Выполняет ли temp.Replace(«\», «») скомпилировать? Не будет ли он жаловаться на то, что «» является плохой константой компиляции?

Ответ №1:

 temp.Replace("\\", "\")
  

Это должно сработать.

Ответ №2:

вопрос не совсем ясен, вы ищете это?

 string temp = @"\h\k";
temp = temp.Replace(@"\", @"");
  

Комментарии:

1. Нет необходимости добавлять @ везде. строка temp = «\h \k»; temp.Replace(«\»,@»»);

2. @manojlds: Нет. два параметра метода Replace в вашем примере теперь точно такие же. "\" это то же самое, что @""

3. Однако это дает ожидаемый результат. Однако пытаюсь выяснить, что происходит. Может быть, когда мы говорим temp.Replace(«\»,@»»), сам temp становится @»h k» и заменяет «» на «», и мы получаем вывод » h k»?

4. Действительно, вы начинаете с неправильной строки, "\h\k" на самом деле это @"hk" так, в вашем примере вы заменяете одиночные косые черты на одиночные…

5. @sarsnake — Во время отладки вы увидите изменение температуры в представлении «locals» с «\\ h \k» на «\ h \ k». Это действительно работает.

Ответ №3:

Вам нужно каждый раз избегать косых черт:

 temp.Replace("\\", "\")
  

Ответ №4:

Как насчет:

 string temp = "\h\k";
temp = temp.Replace("\\", "\");