如何使用正则表达式提取数据列

时间:2015-10-25 23:53:43

标签: c# regex

我正在尝试编写c#代码来提取数据列。我的数据看起来像

enter image description here

如果我想在列标题下“提取”所有内容,例如“COMMAND”或“PID”,那么正则表达式应该是什么。

1 个答案:

答案 0 :(得分:0)

无需使用正则表达式。字符串拆分方法将起作用。尝试这样的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data;


namespace ConsoleApplication53
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.txt";
        static void Main(string[] args)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("PID", typeof(int));
            dt.Columns.Add("TT", typeof(string));
            dt.Columns.Add("STAT", typeof(string));
            dt.Columns.Add("TIME", typeof(DateTime));
            dt.Columns.Add("COMMAND", typeof(string));

            StreamReader reader = new StreamReader(FILENAME);
            int lineCount = 0;
            string inputLine = "";

            while ((inputLine = reader.ReadLine) != null)
            {
                if (++lineCount > 2)
                {
                    string[] inputArray = inputLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    dt.Rows.Add(new object[] {
                        int.Parse(inputArray[0]),
                        inputArray[1],
                        inputArray[2],
                        DateTime.Parse(inputArray[3]),
                        inputArray[4]
                    });
                }
            }

        }

    }
}