Bläddra i källkod

修改导入导出部分bug

宋悦 8 år sedan
förälder
incheckning
2d949fb605
1 ändrade filer med 24 tillägg och 27 borttagningar
  1. 24 27
      cqb-comm-utils/src/main/java/com/qmth/cqb/utils/word/DocxProcessUtil.java

+ 24 - 27
cqb-comm-utils/src/main/java/com/qmth/cqb/utils/word/DocxProcessUtil.java

@@ -540,7 +540,6 @@ public final class DocxProcessUtil {
     public static P formatP(P p, QuesUnit quesUnit) {
         List<Object> pContent = p.getContent();
         int index = 0;
-
         for (Object child : pContent) {
             if (child.getClass().equals(R.class)) {
 
@@ -563,18 +562,13 @@ public final class DocxProcessUtil {
                                 if (index == 2) {
                                     return p;
                                 }
-                                tmpText = tmpText.replaceFirst("\\d{1,}\\.", "");
-                                text.setValue(tmpText);
-                            } else {
-                                if (index == 1) {
-                                    tmpText = tmpText.replaceFirst("\\d{1,}", "");
-                                } else if (index == 2) {
-                                    tmpText = tmpText.replaceFirst("\\.", "");
-                                }
+                                tmpText = tmpText.replaceFirst("\\d{1,}\\.","");
                                 text.setValue(tmpText);
-                                if (index == 2) {
-                                    return p;
-                                }
+                            } else if(tmpText.matches("^\\d{1,}$")){
+                                text.setValue("");
+                            } else if(tmpText.contains(".")){
+                                text.setValue("");
+                                return p;
                             }
 
                         } else if (quesUnit == QuesUnit.QUES_OPTION) {
@@ -584,27 +578,30 @@ public final class DocxProcessUtil {
                                 if (index == 2) {
                                     return p;
                                 }
-                                tmpText = tmpText.replaceFirst("[A-Z]\\.", "");
-                                text.setValue(tmpText);
-                            } else {
-                                if (index == 1) {
-                                    tmpText = tmpText.replaceFirst("[A-Z]", "");
-                                } else if (index == 2) {
-                                    tmpText = tmpText.replaceFirst("\\.", "");
-                                }
+                                tmpText = tmpText.replaceFirst("[A-Z]\\.","");
                                 text.setValue(tmpText);
-                                if (index == 2) {
-                                    return p;
-                                }
+                            } else if(tmpText.matches("^[A-Z]$")){
+                                text.setValue("");
+                            } else if(tmpText.contains(".")){
+                                text.setValue("");
+                                return p;
                             }
 
                         } else if (quesUnit == QuesUnit.QUES_ANSWER) {
+
                             // 过滤答案标题
-                            if (index <= 4) {
-                                tmpText = tmpText.replaceFirst("\\[", "").replaceFirst("\\]", "").replaceFirst("答案", "")
-                                        .replaceFirst("[:|:]", "");
+                            if (tmpText.matches("^\\[答案\\][:|:][\\s\\S]*")) {
+                                if (index == 2) {
+                                    return p;
+                                }
+                                tmpText = tmpText.replaceFirst("\\[答案\\][:|:]","");
                                 text.setValue(tmpText);
-                            } else {
+                            } else if(tmpText.matches("\\[") || tmpText.matches("\\]")){
+                                text.setValue("");
+                            } else if(tmpText.contains("答案")){
+                                text.setValue("");
+                            } else if(tmpText.contains(":") || tmpText.contains(":")){
+                                text.setValue("");
                                 return p;
                             }
                         }