xiatian 3 miesięcy temu
rodzic
commit
0fd6ba10e0

+ 3 - 3
src/main/java/cn/com/qmth/am/service/impl/DsMarkingServiceImpl.java

@@ -109,7 +109,7 @@ public class DsMarkingServiceImpl implements DsMarkingService {
 
     private String fomatStrByRex(String scoreStr) {
         String ret = scoreStr.replaceAll(",", ",").replaceAll("。", "").replaceAll(":", ":").replaceAll("[0-9]\\.", "");
-        Pattern pattern = Pattern.compile("(\\d{1,3},)+\\d{1,3}");
+        Pattern pattern = Pattern.compile("(\\d{1,3}\\s,\\s)+\\d{1,3}");
         Matcher matcher = pattern.matcher(ret);
         if (matcher.find()) {
             return matcher.group();
@@ -123,9 +123,9 @@ public class DsMarkingServiceImpl implements DsMarkingService {
     }
 
     public static void main(String[] args) {
-        String scoreStr = "2个3,29,110\\n\\n考生的回答完全覆盖了所有的关键内容,逻辑清晰,术语使用准确";
+        String scoreStr = "2个3 , 29 , 110 \\n\\n考生的回答完全覆盖了所有的关键内容,逻辑清晰,术语使用准确";
         String ret = scoreStr.replaceAll(",", ",").replaceAll("。", "").replaceAll(":", ":").replaceAll("[0-9]\\.", "");
-        Pattern pattern = Pattern.compile("(\\d{1,3},)+\\d{1,3}");
+        Pattern pattern = Pattern.compile("(\\d{1,3}\\s*,\\s*)+\\d{1,3}");
         Matcher matcher = pattern.matcher(ret);
         if (matcher.find()) {
             System.out.println(matcher.group());

+ 1 - 1
src/main/resources/templates/ds_marking.ftl

@@ -20,4 +20,4 @@ ${studentAnswer}
 针对每一条关键内容,依据完整性、语义通畅性及术语准确性对考生回答进行细致评判,得分为介于0至100之间的整数,准确反映考生回答质量。
 
 #### 最终输出要求:
-直接输出${standardAnswer?size}条关键内容的评分结果,评分结果无需其他文字说明。
+直接输出${standardAnswer?size}条关键内容的评分结果,评分结果无需其他文字说明,各分数间以英文逗号分隔,分数项不要加序号且无需其他文字说明