From c9b067e36aadf9235405451ac1de2878ff372fdb Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Wed, 23 Aug 2023 13:45:05 +0800 Subject: [PATCH] =?UTF-8?q?updates=20=E8=AF=86=E5=88=AB=E5=AD=97=E9=9D=A2?= =?UTF-8?q?=E5=87=86=E7=A1=AE=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg/modules/ocr/utils/StrCharUtil.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/StrCharUtil.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/StrCharUtil.java index 86ba2f8..5f3dfd9 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/StrCharUtil.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/utils/StrCharUtil.java @@ -1,6 +1,9 @@ package org.jeecg.modules.ocr.utils; import org.apache.commons.lang.StringUtils; +import org.xm.Similarity; + +import java.math.BigDecimal; /** * @Description 对比俩个字符串的相似度 @@ -158,6 +161,9 @@ public class StrCharUtil { * @return */ public static double similarityRatio(String strA, String strB) { + double v = Similarity.charBasedSimilarity(strA, strB); + return new BigDecimal(v).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + /*System.out.println(word1 + " vs " + word2 + " 字面相似度值:" + charBasedSimilarityResult); if (StringUtils.isBlank(strA)||StringUtils.isBlank(strB)) { return 0; } @@ -165,18 +171,18 @@ public class StrCharUtil { if (v<=1.0) { v = v*100; } - return v; + return v;*/ } public static void main(String[] args) { String strA = "河北唐山市协和医院"; String strB = "河北省唐山协和医院"; - - System.out.println(longestCommonSubstringNoOrder(strA, strB)); - System.out.println(SimilarDegree(strA, strB)); - System.out.println(compare(strA, strB)); - System.out.println(similarityRatio(strA, strB)); + System.out.println(similarityRatio(strA,strB)); + //System.out.println(longestCommonSubstringNoOrder(strA, strB)); + //System.out.println(SimilarDegree(strA, strB)); + //System.out.println(compare(strA, strB)); + //System.out.println(similarityRatio(strA, strB)); } } \ No newline at end of file