我想要实现的目标:
想要阅读文本文件并将其存储在字符串列表中。 如果使用正则表达式
找到,请使用第二个字符串列表进行保存我不知道如何解决这个问题,但这是我到目前为止所做的。
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);
}
让我们说有一个名为“原因”的文字。在某些行中。我想要的是现在遍历列表或行很简单的行并将行存储在新列表中。
答案 0 :(得分:2)
您可以像这样过滤列表
List<string> newlist = newLine.Where(x => x.Contains("your string to match")).ToList();
答案 1 :(得分:1)
您是否考虑过使用File.ReadAllLines
?
string[] lines = System.IO.File.ReadAllLines("your_file_path.txt");
或者更符合您要求的东西。
List<string> lines = System.IO.File.ReadAllLines("your_file_path.txt").ToList();
答案 2 :(得分:0)
所以也许你想要这些东西?
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
现在你的行包含单词&#34;原因&#34;在名为causes
希望,这会让你开始。
答案 3 :(得分:0)
要将所有行读入List,您可以编写以下内容:
List<string> lines = File.ReadAllLines(@file_To_Read).ToList();
现在,如果您想要一个包含“cause”一词的所有行的新列表,您可以使用以下linq-query:
List<string> causes = lines.Where(line => line.Contains("causes").ToList();
答案 4 :(得分:0)
以下应该工作
使用(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);
}
}
}