我正在尝试读取在文本字段中包含一些\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/