9

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

Abe Miessler
  • 82,532
  • 99
  • 305
  • 486
user496949
  • 83,087
  • 147
  • 309
  • 426
  • 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

27

Try this:

string path = @"c:\user\test\test.jpg";
Abe Miessler
  • 82,532
  • 99
  • 305
  • 486
  • 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
  • 1,013
  • 14
  • 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,464
  • 1
  • 12
  • 17
0

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