2

我正在尝试读取\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");

测试和工作。谢谢。

4

1 回答 1

1

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

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

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

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

于 2013-04-29T05:42:44.110 回答