派生自 projectDept/qhighschool

EricsHu
2022-12-05 068fc7f2e81178e55fa191a13709af64b1a163f6
src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnswerParser.java
@@ -13,22 +13,22 @@
public class ItemAnswerParser extends Parser {
   
   /**
    * 参考答案[带括号]
    * 参考答案[带括号]
    */
   private static final String answerWithBracketsStr = "\\([ABCDEFGHIJKLMNOabcdefghijklmno√╳×TFtf]+\\)";
   private static final String answerWithBracketsStr = "\\([ABCDEFGHIJKLMNOabcdefghijklmno√╳×TFtf]+\\)";
   
   /**
    * 参考答案
    * 参考答案
    */
   private static final String answerStr = "[ABCDEFGHIJKLMNOabcdefghijklmno√╳×TFtf]+";
   private static final String answerStr = "[ABCDEFGHIJKLMNOabcdefghijklmno√╳×TFtf]+";
   
   /**
    * 参考答案模式[带括号]
    * 参考答案模式[带括号]
    */
   private static final Pattern answerWithBrackets = Pattern.compile(answerWithBracketsStr);
   
   /**
    * 参考答案模式
    * 参考答案模式
    */
   private static final Pattern answer = Pattern.compile(answerStr);
@@ -38,19 +38,19 @@
   }
   
   /**
    * 解析 Item 参考答案
    * 1.解析出类似  *** ( ab ) 这样的参考答案
    * 2.将类似参考答案 ( ab ) 替换成 ( )
    * 解析 Item 参考答案
    * 1.解析出类似  *** ( ab ) 这样的参考答案
    * 2.将类似参考答案 ( ab ) 替换成 ( )
    * @param item
    * @param str
    * @return
    */
   private ParseResult parseAnswer(Item item, String str) {
      
      //习题选项
      //习题选项
      Matcher answerBracketsMatch = answerWithBrackets.matcher(str);
      
      //返回
      //返回
      if(!answerBracketsMatch.find() || answerBracketsMatch.start()==0){
         return new ParseResult(false,ParseResult.STEP_CUR,null);
      }
@@ -70,21 +70,21 @@
         item.setTitle(item.getTitle().replaceAll(answerWithBracketsStr, "( )"));
      }
      
      //20150907修改:本来返回true,没有解析到一个类型,抛到上层
      //20150907修改:本来返回true,没有解析到一个类型,抛到上层
      return new ParseResult(false,ParseResult.STEP_PRE,null);
      
   }
   
   /**
    * 处理answer
    * 处理answer
    * @param answer
    * @return
    */
   private String dealAnswer(String answer){
      if(StringUtils.equalsIgnoreCase("√",answer)||StringUtils.equalsIgnoreCase("√",answer)||StringUtils.equalsIgnoreCase("T",answer)){
      if(StringUtils.equalsIgnoreCase("√",answer)||StringUtils.equalsIgnoreCase("√",answer)||StringUtils.equalsIgnoreCase("T",answer)){
         return "True";
      }
      if(StringUtils.equalsIgnoreCase("×",answer)||StringUtils.equalsIgnoreCase("╳",answer)||StringUtils.equalsIgnoreCase("F",answer)){
      if(StringUtils.equalsIgnoreCase("×",answer)||StringUtils.equalsIgnoreCase("╳",answer)||StringUtils.equalsIgnoreCase("F",answer)){
         return "False";
      }
      return answer;