Escaping single quote in String.Format()

Jeff Atwood picture Jeff Atwood · Aug 29, 2009 · Viewed 28.3k times · Source

I have been all over the 'tubes and I can't figure this one out. Might be simple.

The following String.Format call:

return dt.ToString("MMM d yy 'at' H:mmm");

Correctly returns this:

Sep 23 08 at 12:57

Now let's say I want to add a single quote before the year, to return this:

Sep 23 '08 at 12:57

Since the single quote is a reserved escape character, how do I escape the single quote to get it to display?

I have tried double, triple, and quad single quotes, with no luck.

Answer

Martin Liversage picture Martin Liversage · Aug 29, 2009

You can escape it using a backslash which you will have to escape. Either

return dt.ToString(@"MMM d \'yy 'at' H:mmm");

or

return dt.ToString("MMM d \\'yy 'at' H:mmm");