Replace \\ with \ in C#

user990635 picture user990635 · Jul 29, 2013 · Viewed 21.3k times · Source

I have a long string (a path) with double backslashes, and I want to replace it with single backslashes:

string a = "a\\b\\c\\d";
string b = a.Replace(@"\\", @"\");  

This code does nothing...

b remains "a\\b\\c\\d"

I also tried different combinations of backslashes instead of using @, but no luck.

Answer

Otiel picture Otiel · Jul 29, 2013

Because you declared a without using @, the string a does not contain any double-slashes in your example. In fact, in your example, a == "a\b\c\d", so Replace does not find anything to replace. Try:

string a = @"a\\b\\c\\d";
string b = a.Replace(@"\\", @"\");