我已经在不同的论坛上搜索,但我无法理解这个问题。也许很简单。
下面是一个String.Format
调用示例:
return dt.ToString("MMM d yy 'at' H:mmm");
正确返回:
09月23日08点12:57
现在假设我想在年份之前添加单引号,以返回以下内容:
09月23日'08点12:57
由于单引号是保留的转义字符,如何转义单引号以便它正常显示?
我已经尝试过双引号、三引号和四引号,都没有成功。
我已经在不同的论坛上搜索,但我无法理解这个问题。也许很简单。
下面是一个String.Format
调用示例:
return dt.ToString("MMM d yy 'at' H:mmm");
正确返回:
09月23日08点12:57
现在假设我想在年份之前添加单引号,以返回以下内容:
09月23日'08点12:57
由于单引号是保留的转义字符,如何转义单引号以便它正常显示?
我已经尝试过双引号、三引号和四引号,都没有成功。
你可以使用反斜杠转义它,但你需要对反斜杠进行转义。两种方法都是:
return dt.ToString(@"MMM d \'yy 'at' H:mmm");
或者return dt.ToString("MMM d \\'yy 'at' H:mmm");
'
--编辑
仅为了使这篇文章不出错,正如其他人指出的那样,转义是有效的:)
string s = t.ToString("MMM d \\'yy 'at' H:mmm");
那就是我最后一次不基于发布者测试某些东西的了 :)
除非我真的不得不使用C# @字符串,否则我不喜欢它们,所以我会选择这个。
return dt.ToString("MMM d \\'yy 'at' H:mmm");
这只是个人偏好,取决于您认为哪种更易于“阅读”。
String.Format()
中为了转义大括号所采取的方法所吸引,暂时失去了理智...谢谢! - Jeff Atwood<asp:Label ID="Label1" runat="server" Text='<%# Eval("MyDate", "{0:MMM d yy 'at' H:mmm}")%>'>
目前我得到了一个错误,我猜测是因为'at'的单引号。 - thx0125