我试图读取文本字段中有一些\n
的CSV文件。当我使用我在DrawString
中读到的内容时,\n
出现在文本中,而不是换行符。看着调试器中的字符串,看起来TextFieldParser
已经自动为我逃过了字符串。我没有看到解决该行为的类文档中的任何属性。C#TextFieldParser vs n
我试过用String.Replace()
来解决这个问题。但我似乎无法得到\ \正确的转义。
string[] fields = parser.ReadFields();
String From = @"\\n"; // I put these here so that I could look at them in the debugger
String To = @"\n";
String Output = fields[1].Replace(From, To);
它看起来像那些也都逃到了地狱,即使我使用@语法。
我知道当有人向我展示时,这会变得很简单。请善待:-)
编辑----------
String Output = fields[1].Replace(@"\n", "\r\n");
测试和工程。谢谢。
当我在文字中使用\ n时,DrawString会正确产生换行符。我用cript从字面上的例子。我只是用字符串“Test \ nTest”进行测试。嗯。找到一种不同的方式在调试器中查看它。当我点击放大镜图标时,我只看到一个。我认为有一种方法可以查看十六进制,但还没有找到它。自从我上次使用Visual Studio以来已经过去了几年。 – Mighty 2013-04-29 06:01:46
编辑 - 找到如何看待十六进制 – Mighty 2013-04-29 06:09:15
好的。使用替换字符串To = Strings.Chr(13).ToString()+ Strings.Chr(10).ToString();工作 – Mighty 2013-04-29 06:21:30