我正在尝试读取在文本字段中包含一些\n的CSV文件。使用我在DrawString中阅读的内容时,\n出现在文本中,而不是换行符。在调试器中查看字符串,看来TextFieldParser已经自动为我转义了该字符串。我没有在类文档中找到解决该问题的任何属性。

我尝试使用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");


经过测试和工作。谢谢。

最佳答案

如果您查看调试器,它将为您显示换行符。它不会转义(也就是说,它仍然是十六进制值为0x10的ASCII字符,而不是两个字符'\'和'n')。

DrawString is不会将“ \ n”(Unix样式的行)解释为“开始新行”。

但是,如果将“ \ n”替换为“ \ r \ n”,则应该可以正常工作。

http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/17e645bf-6751-44d5-a5be-af322b589122/

关于c# - C#TextFieldParser与\n,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16271848/

10-12 13:29