为了账号安全,请及时绑定邮箱和手机立即绑定

java 字符串替换

java 字符串替换

www说 2019-04-13 08:46:01
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(),也没有考虑分隔符替换啥的
@Test
publicvoidtest(){
Stringids1="4,1,2,3";
Stringids2="1,2,3,4,9,10,12,14,";
System.out.println(ids1+ids2.substring(ids1.length()));
//or
System.out.println(ids2.replaceFirst("(\\d+,){3}\\d+",ids1));
}
如果是按ids1中数字个数来进行替换.首先计算数字个数.如果ids2中没有那么多数字,则不做替换.
@Test
publicvoidtest(){
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));
}
                            
查看完整回答
反对 回复 2019-04-13
?
隔江千里

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());
}
}
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 396 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号