代码之家  ›  专栏  ›  技术社区  ›  Jeff Atwood

在string.format()中转义单引号

  •  24
  • Jeff Atwood  · 技术社区  · 15 年前

    我把管子弄得到处都是,我想不出这个来。可能很简单。

    以下 String.Format 呼叫:

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

    正确返回:

    2008年9月23日12:57

    现在假设我想在这一年之前添加一个报价,以返回:

    2008年9月23日12:57

    因为单引号是保留转义符, 如何转义单引号以使其显示?

    我尝试过双引号、三引号和四引号,但没有运气。

    3 回复  |  直到 15 年前
        1
  •  34
  •   Martin Liversage    15 年前

    你可以用一个反斜杠来摆脱它,你必须摆脱它。要么

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

    return dt.ToString("MMM d \\'yy 'at' H:mmm");
    
        2
  •  4
  •   Jeff Atwood    15 年前

    如果是用于HTML的,您可以只使用HTML实体。

    --编辑

    '
    

    --编辑

    只是为了让这篇文章不出错,正如其他人所指出的那样,逃避是可以的:)

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

    这是我最后一次不根据发布者来测试东西:)

        3
  •  2
  •   Jeff Atwood    15 年前

    我不喜欢C@弦,除非我真的必须使用它们,所以我真的会使用它。

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

    不过,这只是一种更容易“阅读”的偏好。