[英]How can I not escape a character sequence in a string in C#?
我正在从C#资源文件(.resx)中读取一个值,并在该值中添加了\\ r \\ n \\ r \\ n,以便它以正确的格式显示。 例如blah\\r\\n\\r\\nblah
出于某种原因,该字符串会自动添加一个'\\',因此有效的文本变为blah\\\\r\\\\n\\\\r\\\\nblah
,因此可以转义字符序列。
尝试使用Shift + Enter在.resx文件而不是\\r\\n
添加新行。 或替换为str = str.Replace("\\\\r\\\\n", "\\r\\n");
当您存储字符串时,转义字符被存储为字符串文字的一部分,并且不再“转义”任何内容。 您可以做的一件事是在阅读后用换行符替换占位符字符串“ \\ 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();
}
产量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.