C# 使用正则表达式从文本文件提取数据
我试图编写一个正则表达式来从文件中提取数据 该文件如下所示:C# 使用正则表达式从文本文件提取数据,c#,.net,regex,data-extraction,C#,.net,Regex,Data Extraction,我试图编写一个正则表达式来从文件中提取数据 该文件如下所示: "a123 100 Start" "a123 101 Today" "a123 101 Tomorrow" "a123 102 End" 该文件包含多行记录,就像上面的记录一样。在文件的每一行中,固定位置上都有一个代码(100-记录开始,101-记录详细信息,102-记录结束)。我想从该文件中提取一个类似于列表的结构,其中外部列表将存储文件中的所有记录组 我的第一种方法是使用foreach解析这个文件,但我认为应该有一种方法可以通过
"a123 100 Start"
"a123 101 Today"
"a123 101 Tomorrow"
"a123 102 End"
该文件包含多行记录,就像上面的记录一样。在文件的每一行中,固定位置上都有一个代码(100-记录开始,101-记录详细信息,102-记录结束)。我想从该文件中提取一个类似于列表的结构,其中外部列表将存储文件中的所有记录组
我的第一种方法是使用foreach
解析这个文件,但我认为应该有一种方法可以通过正则表达式实现这一点。由于我想扩展我的正则表达式知识,我认为这对我来说是一个很好的例子
这样的数据可以用正则表达式解析吗?如果是这样的话,有人能帮上RegEx的忙吗
谢谢 如果文件具有此特定结构,则不需要使用Regex
。只需使用Split(“”)
和每行的结果数组
Regex
有性能惩罚
但是,如果您想使用Regex
,您可以使用Regex.Match(行“[\S]+[\S]+[\S]+”)
,用于此文件结构。如何分组以及需要在内部字符串列表中存储哪些数据?@Damith,分组将在代码(100)上,内部列表中的数据将是100和102行之间的行。因此,上面示例中的所有行。不带REGEXList result=File.ReadAllLines(“textfile.txt”)。选择(line=>line.Split().ToList()).ToList()代码>