如何检查字符串是否在文本文件中,如果是,则在文本文件中显示该字符串上方的文本?

时间:2016-10-29 04:09:15

标签: c# string

例如:

用户输入字符串 “Hello” 然后程序将检查文件 program.txt 以检查字符串Hello是否存在。如果是,则在program.txt中显示字符串Hello上方的行:

  

program.txt文件

     

123456

     

您好

该程序将显示字符串 123456

那我怎么能在C#中做到这一点?谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

好像是作业! 这是一种非常天真的方式,也适用于大尺寸的txt文件,这不是一种方法,

static void Main(string[] args)
        {
            bool Exist = false;
            StringBuilder sb = new StringBuilder();
            Console.WriteLine("enter your string");
            String Hello = Console.ReadLine();
            string pathToFile = "Path";
            foreach (var line in File.ReadAllLines(pathToFile))
            {
                sb.Append(line);
                if (line.Contains(Hello))
                    Exist = true;
                sb.Append("\n");
            }
            if (Exist)
            {
                StringBuilder newSb = new StringBuilder();
                newSb.Append("-------------------\n");
                newSb.Append(Hello + "\n");
                newSb.Append("-------------------\n");
                StringBuilder text = newSb.Append(sb);
                File.WriteAllText(pathToFile, text.ToString());
                Console.WriteLine("done");
            }
            else
            {
                Console.WriteLine("word not found!");

            }
            Console.ReadLine();
        }

P.S上面的代码区分大小写。