【发布时间】:2017-01-05 23:39:12
【问题描述】:
我有一些 CSV 格式的文件,用竖线分隔。
我需要文件的每一行都在一行中,但我有一些这样的文件:
0001|Some text|Some longer text that \r\n has new lines on it|1234
所以,这意味着第一行现在是两行。
我说的是现在有大约 12000 行的 5000 行文件。我需要替换的列总是第二个和第三个,第一和第四个总是数字。
我需要将文件某些列中的\r\n 替换为一个空格,因此行只占一行。
如何在 Microsoft C# 中执行此操作?
【问题讨论】:
-
文件编码是什么?
-
\n 只是换行符,在 Windows 上真正的换行符是 \r\n,所以如果该行真的有 \n 如果你用 StringReader 阅读它,你只会在一行中得到这些,所以您可以逐行读取,使用 Replace("\n", "") 并将其写入另一个文件。
-
新数据行的开头总是有管道吗?
-
第一个“行”真的在两个不同的行中,还是只是其中的字符串
\n? -
用 File.ReadAllText() 将文件打开成一个字符串。如果 \r\n 总是在你的第三列。然后您可以通过管道拆分字符串,并且在 for 语句中始终递增 3 并删除该字符串的 \r\n 。如果正确,您将始终使用“第三列”