Stringids1="4,1,2,3";Stringids2="1,2,3,4,9,10,12,14";Stringids3=?怎么把ids2前面四位替换成ids1那四位下面是我现在用的,有简单的没publicvoidtestStringSZ(){Stringids1="4,1,2,3";Stringids2="1,2,3,4,9,10,12,14";String[]ids1s=ids1.split(",");String[]ids2s=ids2.split(",");for(inti=0;i
2 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
莫不是这个?看你的程序也没有考虑trim(),也没有考虑分隔符替换啥的@Testpublicvoidtest(){Stringids1="4,1,2,3";Stringids2="1,2,3,4,9,10,12,14,";System.out.println(ids1+ids2.substring(ids1.length()));//orSystem.out.println(ids2.replaceFirst("(\\d+,){3}\\d+",ids1));}如果是按ids1中数字个数来进行替换.首先计算数字个数.如果ids2中没有那么多数字,则不做替换.@Testpublicvoidtest(){Stringids1="4,1,2,3";Stringids2="1,2,3,4,9,10,12,14,";intcount=ids1.split(",").length;//orcountfor,first//intcount=ids1.length()-ids1.replace(",","").length()+1;System.out.println(ids2.replaceFirst("(\\d+,){"+(count-1)+"}\\d+",ids1));}
隔江千里
TA贡献1906条经验 获得超10个赞
可以用StringBuffer的replace函数啊。classreplace{publicstaticvoidmain(String[]args){Stringids1="4,1,2,3";Stringids2="1,2,3,4,9,10,12,14";//String[]ids1s=ids1.split(",");//String[]ids2s=ids2.split(",");//for(inti=0;i//ids2s[i]=ids1s[i]; //}//StringBufferids3=newStringBuffer();//for(inti=0;i//if(i==0){ //ids3.append(ids2s[i]);//}else{//ids3.append(","+ids2s[i]);//}//}//System.out.println(ids3.toString());StringBufferids4=newStringBuffer(ids2);ids4.replace(0,7,ids1);System.out.println(ids4.toString());}}
添加回答
举报
0/150
提交
取消
