Замена обратной косой черты в строке

У меня возникли некоторые проблемы с попыткой заменить обратную косую черту в строке даты на C # .net.

Пока я использую:

string.Replace(@"\","-")

но он не сделал замену. Может ли кто-нибудь помочь, пожалуйста?

 Oded25 мая 2012 г., 12:35
Вы уверены, что строка содержит обратную косую черту, а неforward косая черта (какdates в основном представлены)?
 Oded25 мая 2012 г., 12:36
Ваш пример - обратная косая черта.
 Jodrell25 мая 2012 г., 12:35
Я подозреваю, что вам лучше отформатироватьDateTime чем пытаться сделать строковые манипуляции.
 mezamorphic25 мая 2012 г., 12:36
Извините, Одд, какой бы ни был мой пример?

Ответы на вопрос(5)

oldstring = oldstring.Replace(@"\","-");

ИщуString.Replace тип возврата.

Это функция, которая возвращает исправленную строку. Если бы он просто изменил старую строку, он бы имелvoid тип возврата.

что вам нужно вернуть значение в переменную.

так и должно быть

 val1= val1.Replace(@"\","-");

Или же

 val1= val1.Replace("\\","-");

но не только .. ниже одного не получится

 val1.Replace(@"\","-");

String.Replace не обновляет исходный строковый объект, но вместо этого возвращает новую строку.

myString= myString.Replace(@"\","-");

Вам стоит понять, что строка неизменна в C #, чтобы сделать ее поточно-ориентированной. Подробнее о строках и почему они неизменны, смотрите ссылкиВот а такжеВот

Решение Вопроса

string.Replace не изменяет саму строку, но возвращает новую строку, которую вы, скорее всего, выбрасываете. Сделайте это вместо этого:

Следует отметить, что этот вид операции обычно наблюдается в коде, который вручную обрабатывает отформатированные строки даты. В большинстве случаев есть лучший способ сделать то, что вы хотите (что?), Чем такие вещи.

myString = myString.Replace('\\', '-'));

но просто сообщая вам, что косые черты даты, как правило, впереди/, а не обратный слеш\.

 25 мая 2012 г., 12:39
"\\" == @"\" нет? Я не ограничиваюchar будет иметь значение либо.
 25 мая 2012 г., 12:55
@Jodrell, спасибо, да, они одинаковые, просто предлагал альтернативу, а еще важнее отметить косую черту. я тоже его отредактировал.
 25 мая 2012 г., 12:40
@ericosg: читайте оverbatim strings in C#

Ваш ответ на вопрос