下面是一个录屏软件录下来的内容,记录了用户的操作。格式如下:

********************************************
     录制开始时间:2010-12-6 9:38:51
********************************************
录制开始:
切换窗口“测试记录工具”;
切换窗口“十月-十二月-record.doc - Microsoft Word”;#--#打开对话框“”;
点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
点击任务栏程序“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“”;
点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
点击任务栏程序“WpAuto”;
切换窗口“WpAuto”;
切换窗口“测试记录工具”;
录制结束时间:2010-12-6 9:39:12
我要做的是对以上文字进行截取,从“切换窗口“测试记录工具”;”开始并且以“;”结束是一个操作步骤,每一个操作步骤,都要求读出来在生成Word时候对表格进行填充.求高人指点……

解决方案 »

  1.   

    我的思路是对文本截取,然后放进ArrayList中,但是截取时不好处理,那位能指点一下?
      

  2.   

    切换窗口“测试记录工具”;
    切换窗口“十月-十二月-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“WpAuto”;
    切换窗口“WpAuto”;
    切换窗口“测试记录工具”;
    这些是活的,是用户操作步骤
      

  3.   

    foeach(string s in File.ReadAllLines(""))
    {
     string[] arr=s.Split(new string[]{";"},StringSplitOptions. RemoveEmptyEntries);}
      

  4.   


    void Main()
    {
    string html=@"********************************************
    录制开始时间:2010-12-6 9:38:51
    ********************************************
    录制开始:
    切换窗口“测试记录工具”;
    切换窗口“十月-十二月-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“WpAuto”;
    切换窗口“WpAuto”;
    切换窗口“测试记录工具”;
    录制结束时间:2010-12-6 9:39:12";   Console.WriteLine("*******匹配开始*************");
    foreach(Match m in Regex.Matches(html,@"切换窗口[^切换窗口]*;"))
    {
     Console.WriteLine(m.Value);
      Console.WriteLine("********************");
    }
     Console.WriteLine("*******匹配结束*********");
    }/*
    *******匹配开始*************
    切换窗口“测试记录工具”;
    ********************
    切换窗口“十月-十二月-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“WpAuto”;
    ********************
    切换窗口“WpAuto”;
    ********************
    切换窗口“测试记录工具”;
    ********************
    *******匹配结束**********/
      

  5.   

    现在要做的是把这段文本以“;”为标记进行截取为数组,或者ArrayList,然后return出来,其他方法进行调用
      

  6.   

    切换窗口“测试记录工具”;
    切换窗口“十月-十二月-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“WpAuto”;
    切换窗口“WpAuto”;
    切换窗口“测试记录工具”;

    这些才是要接取得文本。
      

  7.   

    void Main()
    {string html=@"********************************************
    录制开始时间:2010-12-6 9:38:51
    ********************************************
    录制开始:
    切换窗口“测试记录工具”;
    切换窗口“十月-十二月-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“WpAuto”;
    切换窗口“WpAuto”;
    切换窗口“测试记录工具”;
    录制结束时间:2010-12-6 9:39:12";
     
    ArrayList ay=Test(html);

    }ArrayList Test(string html)
    {
    ArrayList ay=new ArrayList();
    foreach(Match m in Regex.Matches(html,@"切换窗口[^切换窗口]*;"))
    {
     ay.Add(m.Value);
    }
    return ay;
    }//我已在6楼给出截取方法了
    你只要封装一下就可以了
      

  8.   


    这个正则匹配不了吧,如果:
    录制开始时间:2010-12-6 9:38:51
    ********************************************
    录制开始:
    切换窗口“测试记录工具”;
    切换窗口“十月-十二月-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“十月-12月6号-record.doc - Microsoft Word”;#--#打开对话框“”;
    点击编辑框“”;#--#打开对话框“WpAuto (正在调试) - Microsoft Visual Studio”;
    点击任务栏程序“WpAuto”;
    切换窗口“WpAuto”;
    切换窗口“测试记录工具”;
    录制结束时间:2010-12-6 9:39:12";这些数据有规律的话,存放到arrylist, 截取头两个,和最后一个也行呀!
      

  9.   

    有问题,匹配是出现错误,还是我理解错了 
    foreach(Match m in Regex.Matches(html,@"切换窗口[^切换窗口]*;"))
    ,@"切换窗口[^切换窗口]*;"))
    这个地方感觉要改一下,才能正确截取分割吧