根据行位置从文本文件中打印行

Posted

技术标签:

【中文标题】根据行位置从文本文件中打印行【英文标题】:Printing line from text file according to line location 【发布时间】:2017-08-06 14:16:39 【问题描述】:

我找不到任何足够具体的东西来帮助我,所以我想试一试。所以基本上我正在尝试打印文本文件中的行,但只打印特定行上的行。我使用了 for 语句并将行位置添加到列表元素,但是我如何获取这些数字并将它们用作行位置以从另一个文本文件中打印出其他内容?

  case "January":
                        for (int i = 0; i < 599; i++)
                        
                            if (Month_1[i].Contains("January"))
                            
                                List<int> list = new List<int>();
                                list.Add(i);

                                Console.WriteLine("Location: " + string.Join("\n", list));

                            


                        
                        break;

如果你不明白我在这里想要的是一个故障。一个文件满了几个月,我正在寻找“一月”,一月的行位置很重要,因为还有多个其他文本文件,当我将它们全部打印出来时,与一月在同一行的每个人都会一起去。

一月在我的月份文件中的第 10 行,我的日文件中的第 10 行将与一月相对应,它们都会被打印,但第 1-9 行不会。

【问题讨论】:

【参考方案1】:

所以基本上我正在尝试打印文本文件中的行,但只打印特定行上的行

一旦你有了字符串格式的文件,你就可以用“\n”符号分割它,得到一个代表行的字符串列表。

从那里运行它并使用循环选择行号(或通过 LINQ 之类的任何其他选择方式)。

【讨论】:

您好,感谢您抽出宝贵时间来回答。你能再具体一点吗?行号已经通过上面的代码存储在 list 语句中,我如何获取这些数字并将它们用作从其他文本文件中打印的位置? 一旦你在 C# 中打开你的文件并读取它,你会得到一个字节数组。将该字节数组转换为字符串,然后在其上使用带有“\n”符号的拆分函数来接收一个数组,其中每一行都是新数组中的一个单独的字符串。仅仅拥有行号可能不是很有帮助,或者至少我不知道如何通过行号浏览文件。

以上是关于根据行位置从文本文件中打印行的主要内容,如果未能解决你的问题,请参考以下文章

如何根据位置将一些值写入ruby中的文本文件

在另一个文本文件中存在的文本之后打印特定行

从两个文本文件(平行语料库)中随机抽样N行

根据起始行值检查文本文件中的特定行字数

使用Bash将文本文件的最后n行移到顶部

我们如何逐行打印字符并将其保存到 PLSQL 中的 csv 或文本文件