我有一个文本文件,我想从中删除整行文本。我希望删除整行文本,如果该行中的空格开始之前该行中的第一个字符数超过一定数量,我希望这是有意义的。
示例:
1234567890************** (* = white space such as SPACE or TAB)
1234567890123********** (* = white space such as SPACE or TAB)
示例行2中空格前的字符数超过10个字符,因此应删除整行文本。
提前致谢。
答案 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");
}