注意:两个字符串本身无重复元素
/**
* 去除两个字符串相同部分后,再取并集(两个字符串本身无重复元素)
*
* @author: liu huangming
* @date: 2020年4月24日 下午2:32:50
* @param str1 字符串1
* @param str2 字符串2
* @param regex 字符串的切割方式
*/
public static String getUnion(String str1, String str2, String regex) {
if (StringUtils.isEmpty(str1) || StringUtils.isEmpty(str2)) {
return StringUtils.isEmpty(str1) ? str2 : str1;
}
StringBuilder sBuilder = new StringBuilder();
String[] array1 = str1.split(regex);
String[] array2 = str2.split(regex);
for (int i = 0; i < array1.length; i++) {
for (int j = 0; j < array2.length; j++) {
if (array1[i].equals(array2[j])) {
array2[j] = null;
}
}
if (str2.indexOf(array1[i]) == -1) {
sBuilder.append(array1[i]).append(",");
}
}
for (int i = 0; i < array2.length; i++) {
if (!StringUtils.isEmpty(array2[i])) {
sBuilder.append(array2[i]).append(",");
}
}
// 去除最后一个","
if (sBuilder.toString().endsWith(",")) {
return sBuilder.toString().substring(0,sBuilder.length()-1);
}
return sBuilder.toString();
}