【问题标题】:How can I escape this string?我怎样才能逃避这个字符串?
【发布时间】:2017-10-06 17:42:32
【问题描述】:

我怎样才能逃脱Expression\("(?!").*", [0-9]+\)>?

我尝试了Expression\\(\"(?!\").*\", [0-9]+\\)> 但正在运行

Print("Expression\\(\"(?!\").*\", [0-9]+\\)>");

在 VS C# Interactive 上,它会打印:

"Expression\\(\"(?!\").*\", [0-9]+\\)>"

反冲重复。

【问题讨论】:

  • “退货”是什么意思?调试器将显示转义字符串。尝试将其打印到控制台。
  • Console.WriteLine 破解它。可能是 C# Interactive Print(String) 方法的一些行为。
  • @vnbrs 是的,C# 交互式 Print(string) 方法打印转义的字符串,因为它会在 C# 源文件中作为字符串文字出现在引号之间。我看到有人在最近的评论中提到了这一点。
  • 同意。我也刚刚测试过。不过,我不确定为什么会有不同的解释。
  • Print(string) 打印字符串的引号。也许它的行为符合预期。

标签: c# string escaping c#-interactive


【解决方案1】:

你可以使用

        string s = @"Expression\(""(?!"").*"", [0-9]+\)>";

        Console.WriteLine(s);

这行得通。

【讨论】:

    【解决方案2】:

    C# Interactive Print(String) 方法按原样打印字符串,而不计算 espace 字符。

    请改用Console.WriteLine(String)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 1970-01-01
      • 2015-12-02
      • 2016-05-10
      • 2011-01-26
      相关资源
      最近更新 更多