如何在.text文件中显示部分行 - C#

时间:2011-02-24 23:34:05

标签: c# list arraylist streamreader

我需要一些基本的帮助 我有一个文件夹,其中有一个文件 在文件中,有两行,行中的数据用“//”分隔。

示例:

  

位于@“C:\ ExampleFolder_ABCD \”的位置有一个文件夹   在文件夹中有一个文件@“C:\ ExampleFolder_ABCD \ ExampleFile_ABCD.txt”
  在文件中有两行:

     

Name_1 // Description_1
  Name_2 // Description_2

我需要我的程序显示每行的第一部分,“//”之前的部分以及此部分。
我做了一些研究,但依靠一些实时帮助。

当然,任何帮助,无论好坏,都将受到高度赞赏。
注意:这与家庭作业无关。它保留了我的一个项目,这将帮助我整理我的电话簿。

Lovro Mirnik

如果您想测试,请将以下代码复制到新创建的命名空间中,编辑并执行它。

string MainDirectoryPath = @"C:\ExampleFolder_ABCD\"; // Example directory path - Completely random name (100% no overwrite)
string MainFileName = @"C:\ExampleFolder_ABCD\ExampleFile_ABCD.txt"; // Example file path - Completely random name (100% no overwrite)
Directory.CreateDirectory(MainDirectoryPath); // Create the directory.
StreamWriter CreateExampleFile = new StreamWriter(MainFileName); // Create the file.
CreateExampleFile.Close(); // Close the process.
StreamWriter WriteToExampleFile = File.AppendText(MainFileName); // Append text to the file.
WriteToExampleFile.WriteLine("Name_1 // Description_1"); // This line to append.
WriteToExampleFile.WriteLine("Name_2 // Description_2"); // This line to append.
WriteToExampleFile.Close(); // Close the process.
//
//
// I would like to know how to display both names in a list
// without the Description part of the line.
// Maybe with a command that contains "* // *" ??

4 个答案:

答案 0 :(得分:0)

我想你会在这里找到所需的一切:http://www.dotnetperls.com/string-split

在中间有一堆代码从文本文件中分割字符串,你可以在用

之类的东西替换分割部分后使用它
Regex.Split(myline, "\\\\")[0]

它应该像魅力一样工作。

答案 1 :(得分:0)

从您发布的示例中,您需要做的就是在"\\\\"上拆分每一行(您必须转义斜杠)。取分裂的第一个结果,然后你去。

答案 2 :(得分:0)

以下是一些代码:

StreamReader Reader = new StreamReader(MainFileName);
            char c = Convert.ToChar(@"/");
            Char[] splitChar = { c, c };
            String Line;
            while (!Reader.EndOfStream)
            {
                Line = Reader.ReadLine();
                String[] Parts;
                Parts = Line.Split(splitChar);
                foreach (string s in Parts)
                {
                    Console.WriteLine(s);
                }
            }
            Reader.Close();
            Console.WriteLine("Done");

答案 3 :(得分:0)

另一种变体,在字符串对象上使用Split方法:

var result = myString.Split(new char[] {'/','/'})[0]

只需将找到“//”的字符串拆分为数组即可。然后你拉回数组中的第一个元素。