字符串处理 java如何将 这样的 字符串String str = "1,1,1,1,1,2,3,";变成 str ="1,2,3,";把相同的1合并 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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()); String str = "1,1,1,1,1,2,3,";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 class StringTest { 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(); }} IO File 路径问题 【急】请教:静态方法里可以包含私有数组变量么? hbwhwang(catmiw的ID已经停用,现在用这个)请进~~~~~~~~~~~ Frame鼠标点击异常 谁有用UDP协议多播的例子代码啊? 排序问题!!!急!!高分,在线等!!! SCJP考试用书中文版 下载 初学问题!!! j2sdk-1_4_0_03-windows-i586.exe 是不是所谓的JDK? 怎样打印Form1上面的内容。。。? 我新学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();
}
}