如何在C#中转义字符串中的字符序列?

时间:2017-06-07 23:07:28

标签: c# resource-files

我正在读取C#中的资源文件(.resx)中的值,并且在该值中,我添加了\ r \ n \ r \ n,以便以正确的格式显示它。例如blah\r\n\r\nblah 由于某种原因,字符串会自动添加一个'\',因此有效的文本变为blah\\r\\n\\r\\nblah,因此它会转义字符序列。

2 个答案:

答案 0 :(得分:2)

尝试使用 Shift + Enter 在.resx文件中添加新行,而不是\r\n。或者像str = str.Replace("\\r\\n", "\r\n");

那样重播

答案 1 :(得分:0)

当您存储字符串时,转义字符存储为字符串文字的一部分,并且不再“转义”任何内容。您可以做的一件事是在阅读后用换行符替换占位符字符串“\ r \ n”。

例如:

private static void Main()
{
    var resourceStr = "blah\\r\\n\\r\\nblah";

    Console.WriteLine("Original resource string:");
    Console.WriteLine(resourceStr);

    Console.WriteLine("\nAfter calling replace:");
    Console.WriteLine(resourceStr.Replace("\\r\\n", Environment.NewLine));

    Console.WriteLine("\nDone!\nPress any key to exit...");
    Console.ReadKey();
}

<强>输出

enter image description here