java如何将 这样的 字符串String str = "1,1,1,1,1,2,3,";
变成 str ="1,2,3,";
把相同的1合并
变成 str ="1,2,3,";
把相同的1合并
解决方案 »
- 想做一个java闹钟,有人做过没
- jdom怎么设置字符集的编码,解析xml文件出现乱码
- 求方案
- 急求:如何验证用户输入的条件表达式是否合法?
- 小弟第一次写java应用程序,问题多多,help!,要分的大虾尽管来(在线等!!!)谢谢啦
- 大家帮忙,,我想在BEAN中,out.println一个字符串,这个字符串显示在一个JSP页面中,这个BEAN是继承自哪个类啊,感谢
- 急!!!!!关于JavaScript脚本中数据库与数组的问题!
- 100分求捆绑UDP协议的原代码
- 关于继承的问题
- 【高分】applet中的一个按钮,点击后reload该Applet.
- 我新学Java,高手看下为什么出错啊
- 如何实现每到整点时间调用一个方法
String str = "1,1,1,1,1,2,3,";
Set set = new LinkedHashSet(); String[] temp = str.split(",");
for (int i = 0; i < temp.length; i++)
{
set.add(temp[i]);
}
System.out.println(set.toString());
str = str.replaceAll("1,(?=1)","");
System.out.println(str);
String str = "1,1,1,1,1,2,3,";
int m = 0;
int n = 0;
String s = "";
while (true) {
m = str.indexOf(",", m+1);
if (m == (str.length() - 1)) {
break;
}
s = str.substring(n, m);
if(str.indexOf(s, n+1)!=-1){
//替换掉所有重复的
str = str.replaceAll(s + ",", "");
//把重复的只留一个
str = str.substring(0, n)+s+","+str.substring(m-1,str.length());
}
n = m + 1;
}
System.out.println(str);
public static void main(String[] args){
String s="1,1,1,2,4,1,3,14,17,1,2,3,";
String[] a=distinct(
s.replaceAll("\\s+","")
.split(",")
); System.out.println(join(a,","));
}
public static String[] distinct(String[] a){
String[] ret=null;
if(a==null||a.length==0) return ret;
int count=0;
int[] index=new int[a.length];
String preEl="";
Arrays.sort(a);
for(int i=0,j=0,len=a.length;i<len;i++){
if(!a[i].equals(preEl)){
index[j++]=i;
preEl=a[i];
count++;
}
}
ret=new String[count];
for(int i=0;i<count;i++){
ret[i]=a[index[i]];
}
return ret;
}
public static String join(
String[] a,
String delimiter){
if (a==null||a.length==0) return "";
StringBuffer buf = new StringBuffer(a[0]);
for(int i=1,len=a.length;i<len;i++) {
buf.append(delimiter);
buf.append(a[i]);
}
return buf.toString();
}
}