如何删除文本文件中某些文本下方的所有行?

疯狂骑士

我有一个代码遍历整个文本文件,以搜索特定的文本“ [名称]”,然后“尝试”以删除文本下方的所有行。我尝试了File.WriteAllText(INILoc,string.Empty);,但这只是删除了整个文本文件中的所有内容。我该如何做才能删除“ [名称]”下的所有行?

我已经设置了像这样的迭代:

string[] lines = File.ReadAllLines(INILoc);
bool containsSearchResul = false;
foreach (string line in lines)
    {
         if (containsSearchResul)
           {
                File.WriteAllText(INILoc, string.Empty);

           }
         if (line.Contains("[names]"))
           {
                containsSearchResul = true;
           }
    }
Prasad Telkikar

您需要将"[names]"文本之前的行存储到字符串变量中,并且当条件(line.Contains("[names]"))满足时,只需中断循环并将字符串值写入同一文件即可。

就像是,

string[] lines = File.ReadAllLines(INILoc); //Considering INILoc is a string variable which contains file path.
StringBuilder newText = new StringBuilder();
bool containsSearchResul = false;

foreach (string line in lines)
    {
       newText.Append(line);
       newText.Append(Environment.NewLine); //This will add \n after each line so all lines will be well formatted

       //Adding line into newText before if condition check will add "name" into file
       if (line.Contains("[names]"))
              break;

    }

File.WriteAllText(INILoc, newText.ToString());
                        //^^^^^^^ due to string.Empty it was storing empty string into file.

注意:如果您使用的是StringBuilder课堂,那么不要错过添加Using System.Text您的程序的机会

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在文本文件中,如何删除下一行的所有行子集?

如何从文本文件中删除所有不包含“ @”的行?

如何从文本文件中删除所有无序行?

如何从文本文件中删除包含特定字符串的所有行?

在同时对文本文件进行某些操作之后,如何删除该文本文件中的特定行

使用UNIX删除文本文件中的某些行

如何删除Windows中另一个文本文件中存在的文本文件中的所有行?

bash,文本文件删除最后一行之前每行中的所有文本

如何删除多行文本文件中嵌套大括号之间的所有文本?

如何提取文本文件中所有行的某些部分?

如何使用PHP删除文本文件中有奇数行的某些文章?

Python - 从文本文件中删除所有 '

从文本文件中删除所有出现的“Meredith”

如何从文本文件中删除某些行的固定部分?

在文本文件中添加所有行的值?

如何“查找多个目录(文本文件)中的所有xml文件并删除”

删除文本文件中没有\ n的行

删除文本文件中的行

如何删除文本文件中不是大于特定值的数字的所有行?(包括字符串)

如何删除文本文件中长度超过 1GB 的所有行?

从文本文件中删除除第一行外的所有内容

删除文本文件所有行中特殊字符后的多余空格

如何删除文本文件中的重复行?

如何从文本文件中删除特定行?

如何从文本文件中删除一行?

如何从Powershell中的文本文件删除行?

如何删除文本文件中的特定行?

如何删除/阻止文本文件中的重复行

如何在文本文件中添加/删除行?