c#将文件内容存储到List中
本文关键字:List String 存储 文件 | 更新日期: 2023-09-27 18:01:45
我想达到的目标:
想要读取文本文件并将其存储在List of Strings中。使用第二个字符串列表保存使用regex
找到的字符串我不知道如何解决这个问题,但这就是我目前所做的。
using (StreamReader content = new StreamReader(@file_To_Read))
{
List <String> newLine = new List <String> ();
string line;
while (line = content.ReadLine()) != null)
//add line to List
newLine.Add(line);
}
假设在某些行中有称为"cause"的文本。我现在想要的是遍历列表或行,只要是容易的,并将行存储在一个新的列表中。
您可以像这样筛选列表
List<string> newlist = newLine.Where(x => x.Contains("your string to match")).ToList();
您考虑过使用File.ReadAllLines
吗?
string[] lines = System.IO.File.ReadAllLines("your_file_path.txt");
或者更符合你的要求。
List<string> lines = System.IO.File.ReadAllLines("your_file_path.txt").ToList();
也许你想要这样的东西?
string[] lines = File.ReadAllLines(filePath); //reads all the lines in the file into the array
string[] causes = lines.Where(line => line.ToLowerInvariant().Contains("causes")).ToArray(); //uses LINQ to filter by predicate
现在在名为causes
希望这能让你开始。
要读取List中的所有行,可以这样写:
List<string> lines = File.ReadAllLines(@file_To_Read).ToList();
现在,如果你想要一个包含'causes'这个词的所有行的新列表,你可以使用下面的linq-query:
List<string> causes = lines.Where(line => line.Contains("causes").ToList();
下面应该可以工作
using (StreamReader content = new StreamReader("FileName")){
List<String> newLine = new List<String>();
while( ! content.EndOfStream)
{
String line = content.ReadLine();
if (line.Contains("causes"))
{
//add line to List
newLine.Add(line);
}
}
}