Java String 替换指定位置字符

最近做项目,遇到了替换定长字符串的某位的值的问题,就实现方法来说有很多。参考了很多方法,个人觉得将String转化为StringBuilder再使用StringBuilder的replace方法进项操作最为简便。记录下来,方便自己下次使用。

StringBuilder的replace()方法,参数有3个 StringBuilder.replace(start, end, str),其中start是起始位,end为截止位,str则为替换内容。

下面的代码是将前端页面中的36位功能标识传输到后台处理并存入数据库,前端已将功能位置存入FQ_NUMBER中,并使用,进行分隔,0默认不开通,1代表开通。

部分代码如下:

public String CreateFlag(){

String str="000000000000000000000000000000000000"; StringBuilder flag=new StringBuilder(); try { String[] FQ_NUMBER = helper.getParameterValue("FQ_NUMBER").split(","); flag.append(str); for(int k=0;k<FQ_NUMBER.length;k++){ flag.replace(Integer.parseInt(FQ_NUMBER[k])-1, Integer.parseInt(FQ_NUMBER[k]), "1"); } } catch (FileUploadException e) { e.printStackTrace(); } return flag.toString(); }

经验分享 程序员 微信小程序 职场和发展