8

I have a path string like c:\user\test\test.jpg, how can I make it c:\\user\\test\\test.jpg?

Abe Miessler
  • 79,479
  • 96
  • 291
  • 470
user496949
  • 79,431
  • 144
  • 301
  • 419
  • you can not assign a string like string s="c:\user\test\test.jpg"; It will give compilation error, string can take only "\\" instead of "\", But string literal "\\" always treated same as "\". – AsifQadri Dec 28 '10 at 05:38
  • @Asif, that is not correct. See my answer. – Abe Miessler Dec 28 '10 at 06:08
  • @AsifQadri, not only one can use the verbatim string syntax to define a string (the at sign), but also one could pass such a string into the arguments of a 'main' function. – AnneTheAgile May 20 '15 at 22:41

4 Answers4

25

Try this:

string path = @"c:\user\test\test.jpg";
Abe Miessler
  • 79,479
  • 96
  • 291
  • 470
  • how to do opposite of this? and when there are random no of \\ in the path for e.g. how can i make this path C:\\abcdef\\\\smstr\\iretrieval\\20_newsgroups\\20_newsgroups\\alt.atheism\\ as C:\abcdef\smstr\iretrieval\20_newsgroups\20_newsgroups\alt.atheism\? –  Mar 05 '15 at 12:45
16
string s = s.Replace(@"\", @"\\");
Ross
  • 995
  • 15
  • 32
5

you would only require escaping if you are using string literal in the code. why would you require automatic escaping anyways. you can use @ before the literal that requires no escaping.

Mubashir Khan
  • 1,454
  • 12
  • 17
0

You can always try something like: System.Text.RegularExpressions.Regex.Unescape, of course that will do all escaped characters.