| | |
| | | public class ItemAnalysisParser extends Parser { |
| | | |
| | | /** |
| | | * 解析字符串 |
| | | * 解析字符串 |
| | | */ |
| | | private String analysisStr = "解析"; |
| | | private String analysisStr = "解析"; |
| | | |
| | | /** |
| | | * 解析字符串正则模式 |
| | | * 解析字符串正则模式 |
| | | */ |
| | | private Pattern analysis = Pattern.compile(analysisStr); |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 解析 Item 参考答案 |
| | | * 1.解析出类似 *** ( ab ) 这样的参考答案 |
| | | * 2.将类似参考答案 ( ab ) 替换成 ( ) |
| | | * 解析 Item 参考答案 |
| | | * 1.解析出类似 *** ( ab ) 这样的参考答案 |
| | | * 2.将类似参考答案 ( ab ) 替换成 ( ) |
| | | * @param item |
| | | * @param str |
| | | * @return |
| | | */ |
| | | private ParseResult parseAnalysis(Item item, String str) { |
| | | |
| | | //习题选项 |
| | | //习题选项 |
| | | Matcher analysisMatch = analysis.matcher(str); |
| | | |
| | | //返回 |
| | | //返回 |
| | | if(!matchBegin(analysisMatch)){ |
| | | return new ParseResult(false,ParseResult.STEP_CUR,null); |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | //20150907修改:本来返回true,没有解析到一个类型,抛到上层 |
| | | //20150907修改:本来返回true,没有解析到一个类型,抛到上层 |
| | | return new ParseResult(false,ParseResult.STEP_CUR,null); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 去除文本中多余字符 |
| | | * 去除文本中多余字符 |
| | | * @param content |
| | | * @return |
| | | */ |
| | | private String beautyContent(String str){ |
| | | String prefix = "::.。~、、.."; |
| | | String prefix = "::.。~、、.."; |
| | | String content = str; |
| | | while(content.length()>0 && prefix.contains(content.substring(0, 1))){ |
| | | content = content.substring(1); |