【问题标题】:Retrieving certain content from a text file in c# [duplicate]从c#中的文本文件中检索某些内容[重复]
【发布时间】:2023-03-08 17:29:01
【问题描述】:

我目前有一个需要清理和正确格式化的文本文件。我正在使用 c# 读取当前从文件中读取所有内容的文本文件。但是我只想从该文件中读取某些内容。

例如文件将包含如下所示的值列表。

约翰,123,abc,ddd,eee,伦敦 11,22,333,444,55,ss,dd,rr, qw,呃,12。

我只想读取 abc444 之间的值,其余的我不想让程序读取。

到目前为止我的程序

    var text = System.IO.File.ReadAllText(@"C:\Folder\filename.txt");
    Console.WriteLine("file contents = {0}", text);
    Console.ReadKey();

我需要遍历整个文件并显示我想要的值吗?有一个简单的例子吗

谢谢

【问题讨论】:

    标签: c#


    【解决方案1】:

    您正在使用 CSV 文件。如果是 simple 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);
    

    【讨论】:

    • 我正在处理一个 txt 文件。它仍然适用吗?
    • @r1993:是的,CSV(逗号分隔值)是一种文本格式。
    猜你喜欢
    • 2015-08-10
    • 2014-04-19
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 2011-02-09
    • 1970-01-01
    相关资源
    最近更新 更多