本文主要是介绍短语去重,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
场景
负责的一个报告系统中需要对2个有’重复’词的短语去重,这2个短语必须符合第一个末尾的若干个词和第2个开头的若干个词一样,示例:ABC和BCD。去重后ABCD才有意义,最后展示在报告上,特此记录。
环境
idea Java8
code
/*** 抗疟疾能力 能力正常 => 抗疟疾能力正常* @param name 抗疟疾能力* @param value 能力正常* @return 抗疟疾能力正常*/public static String trimTitle(String name, String value) {String result = "";if (StringUtils.isNotBlank(name) && StringUtils.isNotBlank(value)) {char[] arr = name.toCharArray();String temp;int count = 0;for (int i = arr.length - 1; i >= 0; i--) {temp = name.substring(arr.length - 1 - count, arr.length);if (temp.length() > value.length()) {result = name + value;break;} else {if (value.startsWith(temp)) {result = name + value.substring(temp.length());break;}}count++;}if ("".equals(result)) {result = name + value;}}return result;}
这篇关于短语去重的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!