一:正则(当长度太大的时候正则的容量不够用,效果就消失了)
public static void main(String[] args) {
String SS= "123,44,11,222,456,755,1";
System.out.println(SS);
String q ="11";
StringBuffer sb = new StringBuffer(SS);
//利用reverse中的replaceAll去重,也可以作用正则表达式
String s = sb.reverse().toString().replaceAll(","+q, "");
StringBuffer ccc = new StringBuffer(s);
//因为去重后反了所有在反过来
String s1 = ccc.reverse().toString();
System.out.println(s1);
}
二:自己重新测试了别的方法利用循环去重,虽然有些麻烦但是还能易懂点(如果有更方便的欢迎大牛下方评论留言,谢谢)
public static void main(String[] args) {
String SS = "488,489,490,216,222,213,177,140,77,505,548,560";//字符串
String[] strArray = SS.split(",");//转数组
// String[] strArray = {"488","489","490","216","222","213","177","140","77","505","548","560"};
Long KK = new Long(490);//需要去重的数
String[] xin = new String[strArray.length-1];
int i=0;
for (String s : strArray) {
if (Long.parseLong(s)!=KK){
xin[i]=s;
}
if (i<=xin.length&&Long.parseLong(s)!=KK){
i++;
}
System.out.println(Arrays.toString(xin));
}
System.out.println("集合中:"+Arrays.toString(strArray)+"需要去掉:"+KK);
String str= StringUtils.join(xin,",");
System.out.println(str);
}