我目前有一个文本文件需要清理并正确格式化。我正在使用c#read进入当前从文件中读取所有内容的文本文件。但是我只想阅读该文件中的某些内容。
例如文件将包含下面显示的值列表。
约翰,123,ABC,DDD,EEE,伦敦 11,22,333,444,55,SS,DD,RR, 每周一次,呃,12。
我只想读取 abc 和 444 之间的值,其余的我不希望程序读取。
我的计划到目前为止
var text = System.IO.File.ReadAllText(@"C:\Folder\filename.txt");
Console.WriteLine("file contents = {0}", text);
Console.ReadKey();
我是否需要遍历整个文件并显示我想要的值,这是一个简单的例子
感谢
答案 0 :(得分:1)
您正在使用 CSV 文件。如果简单 CSV(它的值中没有逗号和引号),您可以使用 Linq :
var cleared = File
.ReadLines(@"C:\Folder\filename.txt")
.Select(line => line.Split(','))
.Select(items => items.Skip(2).Take(8))
.Select(items => items.Join(","));
File.WriteAllLines(@"C:\MyData.csv", cleared);
// If you want to print out values to console instead of saving them to file:
// foreach(var line in cleared)
// Console.WriteLine(line);