【问题标题】:How To Escape Quotation Marks in Multiple Line Of String? C# [duplicate]如何在多行字符串中转义引号? C# [重复]
【发布时间】:2018-12-12 21:15:56
【问题描述】:

我有一个多行的字符串,每行包含多个引号(“),这些引号在我的字符串中太多了,其中一些甚至我也不能用反斜杠()跳过。 我尝试使用 31d 派对网站 (click here),它会进行转义,但它会重组我需要字符串格式的行,以便我可以逐行正则表达式。 请问有什么方法可以轻松跳过所有这些引文吗?

下面是我的字符串的模拟

var stringHolder = @" book book "book"
ten ten "book" book pen
pen "hook book" dook
beer poor "111" cat map"

提前很多

【问题讨论】:

  • 英语不是我的母语,但是当你说“skip”时,你的意思是“escape”?
  • @cantSleepNow soryy,这也不是我妈妈的语言,我更正了。 tnx
  • 你想完成什么?在 C# 中,如果你使用 verbatim string literal,那么你必须在其中加倍 " 标记。
  • 如何查看其他问题?所以我可以将它与我的@NetMage 进行比较
  • 刷新时它会列在问题的顶部。

标签: c# asp.net .net regex


【解决方案1】:

要在逐字字符串(即以@ 前缀声明的字符串)中转义双引号,只需将引号加倍("")。这与您通常如何在字符串中转义双引号 \" 形成鲜明对比。

var stringHolder = @" book book ""book""
ten ten ""book"" book pen
pen ""hook book"" dook
beer poor ""111"" cat map";
Console.WriteLine(stringHolder);
/*Output:
 book book "book"
ten ten "book" book pen
pen "hook book" dook
beer poor "111" cat map
*/

当缩进很重要时,您可能不得不与编辑器中的正常制表符稍作斗争,这可能会导致一些看起来很奇怪的声明。

namespace MyNamespace {
    public class Foo {
        public string GetString() => @"Hello
World"; // Returns a string that looks like
        // Hello
        // World

        public string GetString2() => @"Hello
            World"; // Returns a string that looks like
                    // Hello
                    //             World
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-17
    • 2013-03-12
    • 2016-04-19
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多