用正则表达式把试题内容及ABCD选项拆分出来,并存入数据库相应的字段,怎么实现?正则表达式数据库

解决方案 »

  1.   

    你的内容和ABCD是个什么样的组合方式都没说,拆分给个例子呗
      

  2.   

    题目表:
    题目ID 内容选项表:
    选项A 选项B 选项C 选项D 题目ID
      

  3.   

    类似下面的题型,我需要把题目描述和选项拆分出来,并且分别存到数据库各个字段中。
    1、下列属于负责制定统一的支付结算法律制度的是( )。A、中国人民银行总行B、中国银行总行C、国家政策性银行D、商业银行总行正确答案:A2、下列不属于税法构成要素的是( )。A、税目B、税率C、计税依据D、纳税义务发生时间正确答案:D3、会计机构负责人必须具备的条件之一是( )。A、会计从业资格证书B、从事会计工作5年以上C、经济师专业技术职务资格D、高级会计师专业技术职务资格正确答案:A
      

  4.   

    简单的就根据ABCD选项标记来找input.split("[A|B|C|D]、");得到含5个元素的数组,首元素是题目,其次依序是选项
      

  5.   


    你那个只能出来题目和选项,没有出现答案。
    :(?'num'\b\d+\b)、(?'title'[^A]+.*)\s*A、(?'A'[^B]+.*)\s*B、(?'B'[^C]+.*)\s*C、(?'C'[^D]+.*)\s*D、(?'D'[^正]+.*)\s正确答案:(?'right'.*)
    这个式子,是百度的,但是有错误。
      

  6.   

    public class Test {

    static String input = "1、下列属于负责制定统一的支付结算法律制度的是( )。"    + "A、中国人民银行总行"    + "B、中国银行总行"    + "C、国家政策性银行"    + "D、商业银行总行"    + "正确答案:A"; public static void main(String[] args) {

    String regex = "[A-D]、|正确答案:";

    System.out.println(input.split(regex)[0]);
    System.out.println(input.split(regex)[1]);
    System.out.println(input.split(regex)[2]);
    System.out.println(input.split(regex)[3]);
    System.out.println(input.split(regex)[4]);
    System.out.println(input.split(regex)[5]);
    }
    }
    1、下列属于负责制定统一的支付结算法律制度的是( )。
    中国人民银行总行
    中国银行总行
    国家政策性银行
    商业银行总行
    A
      

  7.   


    我想要写的是,将txt中的内容放入数据库。需要读txt文件,不是直接添加字符串。需要将txt拆分后放入数据库中各个字段。
      

  8.   

    package test0320;import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;public class TopicStorage { /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    File file = new File("E:\\test\\topic.txt");
    String sbf[][] = new String[100][6];
    try {
    BufferedReader br = new BufferedReader(new InputStreamReader(
    new FileInputStream(file)));
    String str = null;
    int i = 0;
    int j = 0;
    while ((str = br.readLine()) != null) {
    if ("".equals(str.trim()))//空行跳到下行
    continue;
    if (j < 5) {// 题目和选项
    sbf[i][j] = str.substring(2);// 可以写成                 str.substring(str.lastIndexOf("、"))
    }
    if (j == 5) {//答案
    sbf[i][j] = str.substring(8);//同理str.substring(str.lastIndexOf(":"))
    }
    j++;
    if (j == 6) {
    i++;
    j = 0;
    } }
    for (int x = 0; x < 100; x++) {
    for (int y = 0; y < 6; y++) {
    System.out.println("++++++++++++  " + sbf[x][y]); /***
     * 调用插入数据库的方法  sbf[x][y]      
     */
    }
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
      

  9.   

    二维数组长度怎么设置,如果录入的试题很少,就会出现null
    下列属于负责制定统一的支付结算法律制度的是( )。
    中国人民银行总行
    中国银行总行
    国家政策性银行
    商业银行总行
    A
    下列不属于税法构成要素的是( )。
    税目
    税率
    计税依据
    纳税义务发生时间
    D
    null
    null
    null
    null
    null
    null
    null
    null
    null
    null
      

  10.   

    1因为你是边读边存储到二维数组,所以读之前不知道长度,只能先定义一个足够的长度,要么你打开txt文本看到有多少条就设置多少条
    2 要不在存储的之前遍历下文件,看有多少行,设置一个count
    3 要不就是全部遍历完了放到String数组里面,然后求余6一条一条存储如果不考虑性能,就用方法2吧
    读两次
      

  11.   

    mysql的话要设置下编码,具体的问题去网上搜索
      

  12.   

    C# 批量将word文档中有序数据导入数据库这文章是我写的,有需要的话,我把数据库给你把~
      

  13.   

    request.setCharacterEncoding("utf-8");
      

  14.   

    在页面就是加这三行
    <%request.setCharacterEncoding("UTF-8");
      response.setContentType("text/html;charset=UTF-8");
      response.setCharacterEncoding("UTF-8");%>
    但是还是在jsp互相传值之间出现乱码。
      

  15.   

    如果拆分不定项的多选题,怎么实现。
    类似下面的题型,我需要把题目描述和选项拆分出来,并且分别存到数据库各个字段中。
    怎么用数组读出1题的6个选项,2题的4个选项
     1、下列属于负责制定统一的支付结算法律制度的是( )。
     
    A、中国人民银行总行
     
    B、中国银行总行
     
    C、国家政策性银行
     
    D、商业银行总行
     
    E、总行F、银行
    正确答案:A
     
    2、下列不属于税法构成要素的是( )。
     
    A、税目
     
    B、税率
     
    C、计税依据
     
    D、纳税义务发生时间
     
    正确答案:D
     
      

  16.   


    1 每次循环读取第5行的时候进行判断,if(temp.trim().split(":").length<2)  继续读取,else  continue;读取下一道题目
    二维数组可以定义长一点   temp=每行内容
    2 或者你用arrayList吧,全部读完以后
    每次数据插入的时候取值进行判断,