日期:2014-05-18  浏览次数:20910 次

用正则表达式把试题内容及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.r