Question

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.

Was it helpful?

Solution

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");

OTHER TIPS

You could just use the HTML entity, if it's for HTML.

-- Edit

'

-- Edit

Just to make this post not wrong, as everyone else has noted, escaping works fine :)

string s = t.ToString("MMM d \\'yy 'at' H:mmm");

And that's the last time I don't test something based on who is posting :)

I don't like the C# @ strings unless I really have to use them so I would actually go with this.

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

It's just a preference though for which you find easier to "read".

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top