文本文件读取器直到文件结束才读取



我有以下文本文件,我通常使用位置和长度来获取给定字符串的子字符串值。

    ID   A      B   Element Name                    Element    C    Length  Position Key2
    01  PN    PNFN  USER MID NAM                    USR        1      1         2      A
    ....about 60 rows

这是我如何读取文本文件并应用文本文件的位置和长度值到字符串输入。

字符串输入 = "AAAAABABBBCCCCDDDDGGGG..."

**EDIT**
     var values = File.ReadLines("file")
        .SkipWhile(string.IsNullOrWhiteSpace).Skip(1)
                          .Select(l => l.Split(new[] {' ', 't'}, StringSplitOptions.RemoveEmptyEntries));
          var array1 = offsets.Select(split => new
                 {
                     Element = split[5],
                     Length = int.Parse(split[7]),
                     Position = int.Parse(split[8])
                 });
     foreach (var info in array1)
        {
            string substring = input.Substring(info.Position, info.Length);
            Console.WriteLine("Element: '{0}' Value: '{1}'", info.Element, substring);
        }    

这将只读取 14 行,并打破循环。我做错了什么吗?谢谢

我使用子字符串而不是空格来查找确切的位置:

       foreach (var hashtable in from item in offsets
                                                 let element = item.Substring(4,2)
                                                 let length = Convert.ToInt32(item.Substring(6, 6))
                                                 let position = item.Substring(7, 4)
                                                 select new Hashtable
                                                     {
                                                         {"Element", element},
                                                         {"Length", length},
                                                         {"Position", position}
                                                     })

相关内容

  • 没有找到相关文章

最新更新