从文本文件c#中删除行

时间:2016-02-04 12:26:53

标签: c#

我有一个文本文件,我想从中删除整行文本。我希望删除整行文本,如果该行中的空格开始之前该行中的第一个字符数超过一定数量,我希望这是有意义的。

示例:

1234567890************** (* = white space such as SPACE or TAB)

1234567890123********** (* = white space such as SPACE or TAB)

示例行2中空格前的字符数超过10个字符,因此应删除整行文本。

提前致谢。

2 个答案:

答案 0 :(得分:0)

首先逐行阅读文字。 每行检查前10个字符。如果他们不是"无效的字符" (制表符或空格)包括最终字符串中的行。然后存储最后的字符串。 (如果需要,您可以覆盖原始文件)

List<char> invalidChars = new List<char> {" ", ";"};
string finalString = "";
using (StreamReader sr = new StreamReader("TestFile.txt"))
        {
            //grab line
            String line = sr.ReadToEnd();
            //grab first 10 chars of the line
            string firstChars = line.substring(0,10);
            //check if contains 
            bool hasInvalidChars = false;
            foreach(char c in invalidChars)
            {
                if(firstChars.toLowerInvariant().IndexOf(c) == 1)
                   hasInvalidChars = true;
            }
            if(!hasInvalidChars)
                finalString += line + Environment.NewLine;
        }

 //now store results
 using (System.IO.StreamWriter file = 
        new System.IO.StreamWriter(@"results.txt"))
 {
    file.write(finalString);
 }

然后将这条线分成几块:

答案 1 :(得分:-1)

使用System.IO包含reference =&gt ;; 给你文件路径你放置你的文件然后调用流编写器写入该文件,因为我写了“我很好” 使用(StreamWriter sw = new StreamWriter(FilePath))
                        {                                 sw.Write("i am good");                         }