我现在用CS做一个题库的系统,现在有两个表一个是:题目表。一个是答案表。
我现在用了一个题目文本框textBox1和一个答案文本框textBox2。
现在我的目的是将:textBox1里的内容插入到数据库中的‘题目表’里,将textBox2中的内容插入到答案表里。
textBox1里的内容插入到数据库中的‘题目表’里这个没有问题。但是在textBox2中我将A、B、C、D答案都粘贴到了这个文本框中,我现在想将答案A作为一条记录插入到‘答案表’里,然后答案B作为一条记录插入到‘答案表’里,然后答案C作为一条记录插入到‘答案表’里,最后答案D作为一条记录插入到‘答案表’里,一共是4条记录。
例如说:在textBox2.text中的内容是:A、安全阀           B、爆破片           C、压力表           D、温度计
我现在点击‘保存’按钮时,如果能分离出答案A,答案B、答案C、答案D。分别用insert into 答案表 values('A、安全阀').insert into 答案表 values('B、爆破片').
现在我就是在textBox2这个文本框中分离不出这四个答案来,请问在保存按钮中怎么进行语句的判断,将4个答案分别隔离出来!谢谢!

解决方案 »

  1.   

    其实建议楼主在每个答案的后面加个符号标识。如:
    A、安全阀;B、爆破片;C、压力表;D、温度计 
    这样的话就可以根据分号来取值了。又方便。string str = "";
    string[] myAsk = null;
    myAsk = textbox2.Split(new char[] { ';' });
    for (int i = 0; i < myAsk .Length; i++)
    {
        这里做SQL语句了。
    }
      

  2.   

    using System;
    using System.Text.RegularExpressions;class Test
    {
      static void Main()
      {
        string s1 = "A、安全阀           B、爆破片           C、压力表           D、温度计";
        Match m = Regex.Match(s1, @"A、(?<a>.*?)\s*B、(?<b>.*?)\s*C、(?<c>.*?)\s*D、(?<d>.*)");
        if (m.Success)
        {
          Console.WriteLine("A: [{0}]", m.Groups["a"].Value);
          Console.WriteLine("B: [{0}]", m.Groups["b"].Value);
          Console.WriteLine("C: [{0}]", m.Groups["c"].Value);
          Console.WriteLine("D: [{0}]", m.Groups["d"].Value);
        }
      }
    }
      

  3.   

    考虑到答案中可能会出现空格,字母等等。所以用字符串自带的分离函数可能不太合适。
    用正则表达式吧.
    另外,在textBox2中你可以将输入用回车分开,那用分离函数就好了。
      

  4.   

        Match m = Regex.Match(s1, @"(?<a>A、.*?)\s*(?<b>B、.*?)\s*(?<c>C、.*?)\s*(?<d>D、.*)");
      

  5.   

    wuyi8808正确!非常感谢!这就给分!