2008年奥运会在哪里举行? (知识点:奥运会-难易指数:1)选择题 
A.中国(正确) B.美国 C.英国 2008年奥运会将在什么时间举行?(知识点:奥运会举办时间-难易指数-1)填空题 
答案:8月8日给我分割成如下形式考题1:2008年奥运会在哪里举行?
知识点:奥运会
难易指数:1
类型:选择题
答案:A→中国┆true〓B→美国┆false〓C→英国┆false考题2:2008年奥运会将在什么时间举行?
知识点:奥运会举办时间
难易指数:1
类型:填空题
答案:8月8日
考题一答案的true或false是指考题是否正确。帮忙把代码写出来,然后给点注释啊

解决方案 »

  1.   

    大概这个样子吧,没有实际实现:
    String str = "(\s+)\(知识点:(\s)+-难易指数:(\d+)\)(\s+)\S+A\.(\s+)\((\s+)\).B\.(\s+)\((\s+)\).C\.(\s+)"
    Regex re = new Regex();
    Match m = re .Match(text);
    int i = 0
    while (m.Success) 
    {
     结果在m.Groups中
     对应把读出来 
    }
      

  2.   

    拆分点是 '(',')','知识点:','-难易指数','A.','B.','C.'如果这些东西变了或顺序变了就不能用这个了,正则要重新写,另外我写不一定正确,要自己改下
      

  3.   

    String str = "2008年奥运会在哪里举行? (知识点:奥运会-难易指数:1)选择题  A.中国(正确) B.美国 C.英国  ";
                String strRe = @"(.+)\(知识点:(.+)-难易指数:(\d+)\)(.+)\s+A\.([^\(\)]+)(\(.{0,}\)){0,}\s{0,}B\.([^\(\)\s]+)(\(.{0,}\)){0,}\s{0,}C\.([^\(\)\s]+)(\(.{0,}\)){0,}\s{0,}";
                Regex re = new Regex(strRe);//
                Match m = re.Match(str);//
                int i = 0;
                String strResult = "";
                if (m.Success) 
                {
                    for (i = 0; i < 11;i++ )
                    {
                        strResult += "," + m.Groups[i];
                    }
                }
                this.textBox1.Text = strResult;结果是:
    ,2008年奥运会在哪里举行? (知识点:奥运会-难易指数:1)选择题  A.中国(正确) B.美国 C.英国  ,
    2008年奥运会在哪里举行? ,奥运会,1,选择题 ,中国,(正确),美国,,英国,
      

  4.   

    \w.*(?=\(知识点[::]\w.*-难易指数[::]\d\)\w{3})取考题内容(?<=\w.*\(知识点[::])\w+(?=(-难易指数+[::])\w.*\)\w.*)取知识点(?<=\w.*\(知识点[::]\w.*-难易指数[::])\d(?=\)\w{3})取难易指数(?<=\(知识点[::]\w+-\w.*[::]\d\))\w{3}取考题类型这是我自己在正则表达式练习工具中写的,但是我不会在C#中用啊,
    而且这个一取就是取全部。
      

  5.   

    用Switch case 来判断你选的值啊