使用RegEx从文本文件中提取数据

时间:2013-05-28 07:54:25

标签: c# .net regex data-extraction

我正在尝试编写一个RegEx来从文件中提取数据。

该文件如下所示:

"a123 100 Start"
"a123 101 Today"
"a123 101 Tomorrow"
"a123 102 End"

该文件包含多行记录,就像上面的那样。在文件的每一行中,在固定位置上有一个代码(100 - 记录开始,101-记录细节,102-记录结束)。我想从该文件中提取一个类似List<List<string>>的结构,其中外部列表​​将存储文件中的所有记录组。

我的第一种方法是使用foreach解析此文件,但我认为应该有一种方法可以通过RegEx实现此目的。由于我想扩展我的RegEx知识,我认为这对我来说是一个很好的例子。

是否可以使用RegEx解析此类数据?如果是这样,有人可以帮助RegEx本身吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的文件具有此特定结构,则无需使用Regex。只需使用Split(" ")和每行的结果数组。

Regex会受到性能损失。

但是,如果您仍然想使用Regex,则可以使用Regex.Match(line, "[\S]+ [\S]+ [\S]+")作为此文件结构。