首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

用正则表达式把试题内容及ABCD选项拆分出来,并存入数据库,如何实现

2013-03-27 
用正则表达式把试题内容及ABCD选项拆分出来,并存入数据库,怎么实现?用正则表达式把试题内容及ABCD选项拆分

用正则表达式把试题内容及ABCD选项拆分出来,并存入数据库,怎么实现?
用正则表达式把试题内容及ABCD选项拆分出来,并存入数据库相应的字段,怎么实现? 正则表达式 数据库
[解决办法]
你的模型是如何对应的?怎么还要拆分?
[解决办法]
你的内容和ABCD是个什么样的组合方式都没说,拆分给个例子呗
[解决办法]
题目表:
题目ID 内容

选项表:
选项A 选项B 选项C 选项D 题目ID
[解决办法]

引用:
引用:题目表:
题目ID 内容

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

就是这样的数据库表

简单的就根据ABCD选项标记来找

input.split("[A
[解决办法]
B
[解决办法]
C
[解决办法]
D]、");


得到含5个元素的数组,首元素是题目,其次依序是选项
[解决办法]
引用:
引用:引用:引用:引用:引用:题目表:
题目ID 内容

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

就是这样的数据库表
简单的就根据A……



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

[解决办法]


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();
}
}
}

热点排行