#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("\\", "\");