那么,你可能会从File.ReadAllLines()
方法开始。然后,遍历该文件中的行,检查它们是否匹配模式。如果他们这样做,提取必要的文本,并做任何你想要的。
这里有你想要的格式[(field 1)][(field 2)]
线,它假定一个例子:
// Or wherever your file is located
string path = @"C:\MyFile.edf";
// Pattern to check each line
Regex pattern = new Regex(@"\[([^\]]*?)\]");
// Read in lines
string[] lines = File.ReadAllLines(path);
// Iterate through lines
foreach (string line in lines)
{
// Check if line matches your format here
var matches = pattern.Matches(line);
if (matches.Count == 2)
{
string value1 = matches[0].Groups[1].Value;
string value2 = matches[1].Groups[1].Value;
Console.WriteLine(string.Format("{0} - {1}", value1, value2));
}
}
这把它们输出到控制台窗口,但你能明显做任何你想要的value1
和value2
(它们写入到另一个文件,将它们存储在数据结构中等)。
而且,请注意,正则表达式是不是我的强项 - 可能有一个更优雅的方式来检查,如果行的模式:)相匹配
如果您想了解更多的信息,对检查出的MSDN的文章reading data from a text file为起点。
简单而优雅,不需要正则表达式 - 我喜欢它:) – Donut 2010-11-16 15:55:36