我需要使用C#从非分隔文本文件中提取数据。基本上,我需要删除所有不需要的字符,然后标记一行的结尾并添加换行符。一旦数据被分成单独的行,我需要依次遍历每一行并使用正则表达式提取值。我一直用Perl做这个,但现在需要用C#来做。原始文件在整个文件中包含许多换行符,而不是像您期望的那样在行尾。我将能够使用Regex对象提取值,但是我无法将文件转换为每行记录的格式。
答案 0 :(得分:0)
你提供的信息稀少但是。此代码将创建您的行列表。
请注意,ReadLine将采用一系列字符,后跟换行符(“\ n”),回车符(“\ r”)或回车符后紧跟换行符号(“\ r \ n” )。
我不确定这是否是您期望的行为。
string fileName = "Text.txt";
List<string> lines = new List<string>();
using (StreamReader r = new StreamReader(fileName))
{
string line;
while ((line = r.ReadLine()) != null)
{
lines.Add(line);
}
}
foreach (string s in lines)
{
Console.WriteLine(s);
//can do your Regex here
}